我从 Unicode 格式的 XML 文件接收数据。在 MySQL DB 中使用 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()
撤消实体化操作。
关于php - 使用 latin1_general_ci 将 Unicode 数据插入数据库的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26932698/