UTF-8:在数据库中正确显示,但不是在HTML,尽管utf-8字符集 [英] UTF-8: showing correctly in database, however not in HTML despite utf-8 charset

查看:106
本文介绍了UTF-8:在数据库中正确显示,但不是在HTML,尽管utf-8字符集的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用MySQL 5.1并从一个UTF-8解码的txt文件中加载约2.7 mil行到一个本身被声明为 utf8_unicode_ci 的表以及所有的char-字段声明为 utf8_unicode_ci ,使用 LOAD DATA INFILE ...



在数据库本身中,字符都似乎是正确的,一切看起来不错。但是,当我使用php打印它们时,字符显示为???,虽然我在HTML头中使用utf-8声明:

 < head> 
< meta http-equiv =Content-Typecontent =text / html; charset = UTF-8>
...

在另一个表(使用utf-8)从提交的表单中,字符在数据库中出现奇怪,但是当我使用 SELECT ... 打印时,它们再次正确显示。



所以,我想知道:什么是错的? UTF-8 字符在数据库中正确显示或奇怪,但是当你 SELECT 他们还好吗?或者在哪里是问题(当将文件加载到数据库,在HTML或中间的某个地方)?



非常感谢任何提示或建议! :)

解决方案

注意: MySQL的 utf8 字符集是有限的,它只支持在BMP中占用不超过三字节。您应该改用 utf8mb4



查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆