我正在使用 PHP 连接到 MySQL 数据库来创建 XML 文件。除了字符编码之外,一切正常。我需要日语和英语字符,所以显然我选择使用 UTF-8。唯一的问题是数据库中的日语字符无法正确显示。
数据库和表的排序规则设置为 UTF8_general_ci,MySQL 连接排序规则也是如此。
我的 php 文件定义在 2 个不同的位置使用 UTF-8(并以没有 BOM 的 UTF-8 格式保存),其中一次在标头中包含以下行:
header("内容类型:text/xml;charset=utf-8");
它定义它的另一个地方是 XML 输出文件。
作为测试,我让 php 文件仅从代码中写入一些日语字符,因此不是来自数据库。这显示正确(可以在这里看到http://jlearn.0sites.net/Flash/xml/xml.php...最后 5 个条目有一些日语,后面跟着问号,因为日语应该来自数据库)。
所以问题很可能是数据库,但对我来说一切看起来都是正确的。
有任何想法吗?
其实刚刚发了这个——php mysql 查询编码问题
我倾向于发现解决很多问题的是;
mysql_query("SET NAMES 'utf8'");
在执行任何查询之前。
文档建议您使用mysql_set_charset
但我经常看到这个功能缺失。
if( function_exists('mysql_set_charset') ){
mysql_set_charset('utf8', $db_con);
}else{
mysql_query("SET NAMES 'utf8'", $db_con);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)