【发布时间】:2012-06-19 21:17:35
【问题描述】:
标签: php mysql phpmyadmin
标签: php mysql phpmyadmin
如果您的 PHP 文件已经是 UTF-8 编码,您应该告诉您的数据库,您需要 UTF-8。无需摆弄 MySQL 的配置,只需告诉您的连接对象,您希望使用哪种字符集,数据库会为您完成剩下的工作。
这是一个mysqli连接对象的例子:
$db = new mysqli($dbHost, $dbUser, $dbPw, $dbName);
$db->set_charset("utf8");
之后您的查询将返回 UTF-8 编码的结果。
【讨论】:
utf8_unicode_ci 时,db 的导出将包含 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci,所以我假设它确实使用字符集 UTF-8 存储。但是,为客户端(PHP 连接对象)设置字符集是另一回事,并且应该独立于服务器具有的任何默认设置。
SET NAMES 'charset_name'
http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
【讨论】:
首先,您需要确定是浏览器字符集错误,还是mysql。 尝试将浏览器中的字符集交换为 utf8,或者如果它已经是 iso-8859。
如果这不能解决问题,请尝试通过执行更改查询中的字符集
SET CHARACTER SET charsetname;
【讨论】: