使用 latin1_general_ci将 Unicode 数据插入数据库的最佳方式



我用Unicode从XML文件接收数据。在MySQL数据库中使用latin1_general_ci编码的字段插入/更新此数据的最佳和正确方法是什么?

谢谢!

吹毛求疵: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() 撤消实体化操作。

最新更新