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

标签 php mysql unicode latin1

我从 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/

相关文章:

php - 如何使用 AJAX 刷新我网站上的结果?

php - MySQL 搜索与搜索项中的整数匹配

javascript - PHP MySQL - 添加新记录时发送电子邮件警报,但

php - 获取带有点赞和评论的帖子 - 一个查询?

python - Django 中的 UnicodeDecodeError

php - Yii2 以编程方式迁移命令

php - 制作在线词典的最佳方法?

java - Java.sql 的 getRow() 线程安全吗?

php - 为什么 PHP 脚本在 WAMP/MySQL 服务器中不显示 Unicode 文本

c - 使用正则表达式以 UTF8 读写 C 中的文本文件