php - Mysql显示汉字

标签 php mysql character-encoding phpmyadmin cjk

我长期以来一直使用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/

相关文章:

php - 如何在 Codeigniter 模型中打印存储过程查询?

php - PHP:如果用户代理是搜索引擎爬虫,则不输出日期

mysql - 在 MySQL 和 SQL Server 上通过查询生成表 DDL

java - 由于字符编码导致 Gzip 字符串损坏

Java 字符串不显示德语变音字符

java - 如何在 Java 中的 ISO-8859-1 和 UTF-8 之间进行转换?

php - 使用php从字符串中删除撇号

php - 使用 mysql MATCH AGAINST 搜索多个单词

php - 使用 PHP 在 MySQL 数组中搜索日历日期?

php - mysql错误查询