【发布时间】:2011-08-17 08:34:54
【问题描述】:
我有一些表格,可以将一些数据插入 MySQL 数据库,并且由于某种原因,这些字符被双重 utf-8 编码。你在我网站的前端看不到它,但在后端你会看到,如果我查看来自 phpmyadmin 的数据,它是双重编码的。
另外,要显示从 phpmyadmin 输入的数据,我必须 utf8_encode 它。
如果我在将数据放入数据库之前对我的数据使用uft8_decode(),它可以工作,但是我必须再次使用utf8_encode() 才能正确显示我的数据,我想找到一个更好的解决方案重写我的大部分代码。
我要处理的字符是丹麦语 æ、ø 和 å 字符。
我将在 php.ini 中可以找到的所有设置都设置为 utf-8,在 phpmyadmin 中可以找到的所有设置都设置为 utf8,将 html 元标记设置为 utf-8,但我仍然要处理这个错误。
所以我的问题是,有谁知道为什么会发生这种情况,或者我该如何解决?..
更新: 运行 Jako 建议的 mysql 代码后,当数据来自前端时,数据在数据库后端正确编码,但我仍然需要运行 @987654325 @在前端正确显示数据,有什么想法吗?..
更新 2: 同样,在运行 this question 答案中的代码后,我仍然遇到问题,编码现在打开和关闭 utf8,我怀疑 phpmyadmin 以某种方式重置编码。我找到了一种新的做事方式,并且完美无缺,如下面的回答中所述...
【问题讨论】:
标签: php mysql utf-8 character-encoding