【发布时间】:2012-08-24 06:43:18
【问题描述】:
我有一个小的 JSON 对象,我想将它发送到 php 以放入 mySQL 数据库。字符串中的部分信息是 html 实体。 &emdash 给我带来了问题。它显示为â€。 é 显示为 é 时还有一些其他问题。
我似乎遇到了一些编码问题。知道有什么问题吗?谢谢
【问题讨论】:
-
可能是您数据库的字符集。猜测一下,它设置为 iso-8859-* 并且因为数据来自 JSON,它将被编码为 unicode。将您的数据库字符集更改为 UTF-8。
-
@DaveRandom 谢谢!很抱歉很愚蠢,但这是我逐表设置,还是逐个数据库设置,或者只是为我的整个 mySQL 设置?
-
可以按数据库、按表甚至按列设置。对于此特定任务,您只需对存储此数据的列执行此操作,但如果不与其他任何内容冲突,我建议您转换整个数据库。
-
@DaveRandom 在 PHPMyAdmin 的“操作”下,我看到我已将“排序规则”设置为“latin1_swedish_ci”。在大量下拉列表中有一个 UTF-8 选项。只是有点困惑,因为它被称为“整理”而不是“编码”;这是我想要的吗?
-
是的,但这不会影响表中的现有列,它只会影响您创建的新列并且不指定编码。在那里更改它,然后进入表格并编辑所有 VARCHAR/CHAR/TEXT 列。
标签: php html-entities html-encode