Mysql显示汉字

时间:2011-10-17 08:39:59

标签: php mysql character-encoding phpmyadmin cjk

我一直用php + mysql(phpmyadmin)来构建中文内容(utf-8)的网站很长一段时间。

当输入表格,并从db生成输出php时,中文单词显示良好;但是当我查看数据库时,虽然有时它们是普通的汉字,但它们不是(变成奇怪的字符串),这让我注意到,mysql处理和输入数据的方式并不总是utf-8。

网上的一些专家提到,mysql用于通过latin1记录输入数据;尽管如此,我注意到phpmyadmin中现有的字符集是utf-8 ......

有没有可靠的方法来检测phpmyadmin表格单元格中出现的中文字符的编码格式?

另外,除了在页面标题处提及之外,是否有任何方法可以确保输入到数据库的数据是utf-8而不是其他数据?

谢谢。

2 个答案:

答案 0 :(得分:5)

人们在这方面遇到的最大问题是,他们没有告诉MySQL他们在连接到数据库时发送/期望UTF-8编码数据,因此MySQL认为它应该处理latin1编码数据并转换因此。连接到数据库后使用SET NAMES utf8发出命令{{1}}。

答案 1 :(得分:0)

在我的情况下,只是因为htmlentities();解决方案已更改为echo htmlentities($email_db);echo htmlentities($email_db, ENT_COMPAT, 'UTF-8');