【问题标题】:Best way to insert Unicode data to the DB with latin1_general_ci使用 latin1_general_ci 将 Unicode 数据插入数据库的最佳方法
【发布时间】:2014-11-14 14:54:39
【问题描述】:

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

谢谢!

【问题讨论】:

    标签: php mysql unicode latin1


    【解决方案1】:

    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() 撤消实体化操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-06
      • 1970-01-01
      相关资源
      最近更新 更多