我正在使用LOAD DATA INFILE.csv文件中的php和mysql 。
有些单元格包含一个'€'符号和一个数字,而另一些'$'符号和一个数字,例如:2.13€,5.4 $
当我将csv文件加载到表中时,带有'$'符号的单元格会正确插入,带有的单元格'€'将为EMPTY 。
相关列定义如下:
VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci
Run Code Online (Sandbox Code Playgroud)
如何确保'€'正确插入标牌?
我转换了文件编码:
$data = file_get_contents(PATH_TO_CSV_FILE);
$data = mb_convert_encoding($data, 'UTF-8', 'Windows-1252');
file_put_contents(PATH_TO_MODIFIED_CSV_FILE, $data);
Run Code Online (Sandbox Code Playgroud)
然后将其加载到表中:
LOAD DATA INFILE '".PATH_TO_MODIFIED_CSV_FILE."' INTO TABLE ...
Run Code Online (Sandbox Code Playgroud)