我长期以来一直使用php + mysql(phpmyadmin)构建中文内容(utf-8)的网站。
输入表单,并从db生成输出php时,中文文字显示良好;但是当我查看数据库时,虽然有时它们是正常的汉字,但它们不是(变成奇怪的字符串),这让我注意到,mysql处理和输入数据的方式并不总是utf-8。
网上有高手提到,mysql是通过latin1来记录输入数据的;尽管如此,我注意到 phpmyadmin 中现有的字符集是 utf-8...
有没有可靠的方法来检测phpmyadmin表格单元格中出现的汉字的编码格式?
另外,除了在页面标题处提到之外,是否有任何方法可以确保输入到数据库的数据是 utf-8 而不是其他数据?
谢谢。
最佳答案
人们在这方面遇到的最大问题是,他们在连接数据库时没有告诉MySQL他们正在发送/期望UTF-8编码的数据,因此MySQL认为它应该处理latin1编码的数据并转换相应地。连接到数据库后发出命令 SET NAMES utf8
或使用 mysql_set_charset
.
关于php - Mysql显示汉字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7791270/