这个问题绝对让我伤心,我无法在线获得单一解决方案!
我正在尝试将以下文本从CSV导入MySQL表 - 通过Navicat的导入向导:
L154 – TRAINING WARRANTY
连字符是一个宽连字符,到目前为止,我已设法将其作为问号或带有问号的黑色钻石导入。对于£符号和其他特殊字符也一样。
每个人都在谈论UTF-8。到目前为止,我已经尝试过:
在Excel中保存CSV,单击工具>网络选项>编码:UTF-8
右键单击数据库,然后单击“编辑”。将字符集设置为utf8 Unicode和排序规则:utf8_general_ci
我已经“设计”了表格并将上面的2个选项设置为完全相同。
我已经编辑了有问题的varchar字段,并将相同的2个字段再次设置为上述2种类型。
但是我的连字符无法正确导入。
很高兴知道如何一劳永逸地导入包含£符号和其他特殊字符的数据。
答案 0 :(得分:1)
您可以使用 htmlentities()
以编码形式存储这些符号,例如
£
将为£
,–
将为–
,使用:
echo htmlentities('£');
并且在检索时,只需使用html_entity_decode()
赞:
echo html_entity_decode('£'); // output £
修改:如评论中所述,您尝试从CSV文件导入数据的方式。您必须更改CSV文件的编码,这可以使用Notepad ++完成,转到Encoding->Encode in UTF-8