0

CSv ファイルを mysql テーブルにロードしようとしています。問題は、CSV ファイルが「iso-8859-1」で、データベースが「utf-8」であることです。

私は次の命令を使用しました:

LOAD DATA INFILE 'file.csv' INTO TABLE edes_objetivos_aux CHARACTER SET latin1 FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '!EOR' IGNORE 1 LINES (tipo_movimiento,@objetivo_k,nombre,descripcion,metrica_k,acumulativo,heredable,fecha_creacion,usuario_propietario_k,meta,resultado,heredado,acumulativo,porcentaje_avance,fecha_programada,fecha_inicio,fecha_finalizada,porcentaje_padre,periodo) SET objetivo_k=md5(@objetivo_k)

上記の例では、ファイルのエンコーディングである「latin1」を使用していますが、データベースが utf-8 であるため、一部の文字が正しくありません :(

ファイルのエンコーディングを変更できません。間違った文字を置き換える方法はありますか? 私に何ができる?

前もって感謝します :)

4

1 に答える 1

0

CSV を php にロードし、linkutf8_encodeに従って実行してから、テーブルに挿入を実行してみてください。それはあなたのために働きますか?(この方法でCSV入力を無菌化してDBインジェクションを防ぐことができるため、これはとにかく良いかもしれません)

于 2011-04-19T23:01:30.357 に答える