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

时间:2014-11-14 14:54:40

标签: php mysql unicode latin1

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

谢谢!

1 个答案:

答案 0 :(得分:1)

Nitpick:latin1_general_ci是排序规则 - 排序顺序。您正在使用的编码 - CHARACTER SETlatin1

从字符串中获取Unicode字符。在将XML文件解析为值之后以及在数据库列中存储这些值之前,请执行此操作。例如,您希望在存储文本字符串之前将⇨(箭头)转换为⇨

$outstr = htmlentities ( $instr, ENT_NOQUOTES, ISO8859-1);

您需要阅读htmlentities,因为它有很多选项。 http://php.net/manual/en/function.htmlentities.php

从数据库中检索这些值时,您可以将它们直接发送到浏览器,该浏览器可以了解授权的项目,也可以使用html_entity_decode()来撤消授权操作。