我从Unicode的XML文件中接收数据。用latin1_general_ci编码的字段在MySQL DB中插入/更新此数据的最佳正确方法是什么?
谢谢!
最佳答案
Nitpick:latin1_general_ci
是排序规则-排序顺序。您正在使用的编码-CHARACTER SET
是latin1
。
从字符串中初始化Unicode字符。在将XML文件解析为值之后,然后将这些值存储在数据库列中,然后执行此操作。例如,在存储文本字符串之前,您需要将⇨(箭头)变成⇨
。
$outstr = htmlentities ( $instr, ENT_NOQUOTES, ISO8859-1);
您需要阅读
htmlentities
,因为它有很多选择。 http://php.net/manual/en/function.htmlentities.php当从数据库中检索这些值时,可以将它们直接发送到了解实体化项目的浏览器,也可以使用
html_entity_decode()
撤消实体化操作。