阿拉伯语字母(正确)如何存储在mysql中? ب或ب

时间:2013-06-06 14:08:28

标签: php mysql utf-8

这可能是一个虚假的问题,但我有点迷失了。

阿拉伯语问题如何完全存储在数据库中?

让我们选择ب,如果我直接在数据库中插入它,它就变成?。不好。

如果我使用表单(和php脚本)并将其存储为UTF-8,它将像ب一样存储。我可以读出并打印出来,一切都很好。

所以我的问题是,阿拉伯语(和日语,...)字母总是存储在mysql数据库ب中吗?或者我应该在某处更改设置,当我浏览数据库时它应该看起来像ب?

只是在数据库中定义行的长度(varchars / chars)...

DB设置为utf8_general

网站完全UTF8

1 个答案:

答案 0 :(得分:2)

如果您尝试存储UTF-8编码字符并且它变为?,这意味着MySQL无法理解或支持您发送该字符的编码。该列需要设置为存储utf8数据(如果支持,则更好utf8mb4)并且连接编码需要设置为正确的编码以通知MySQL in您正在向其发送数据的编码。

如果从表单提交中获取HTML实体,这意味着浏览器尝试以不支持该特定字符的编码发送数据;因此,它必须依靠HTML实体来编码角色。您需要正确设置编码声明,告诉浏览器它应该将UTF-8编码的文本发送到服务器。

有关如何执行此操作的信息,请参阅Handling Unicode Front To Back In A Web App和/或UTF-8 all the way through