使用PHP和MySQL显示日文字符的问题

Mus*_*era 7 php xml mysql utf-8

我正在使用PHP连接到MySQL数据库来创建XML文件.除了字符编码外,一切正常.我需要日文和英文字符,所以显然我选择使用UTF-8.唯一的问题是数据库中的日文字符无法正确显示.

数据库和表的排序规则设置为UTF8_general_ci,MySQL连接排序规则也是如此.

我的php文件定义为在两个不同的地方使用UTF-8(并且在没有BOM的情况下以UTF-8保存),一次在带有以下行的标题中:header("Content-type:text/xml; charset = utf-8 "); 它定义的另一个地方是XML输出文件.

作为测试,我已经让php文件在代码中写了一些日文字符,所以不是来自数据库.这显示正确(可以在这里看到http://jlearn.0sites.net/Flash/xml/xml.php ...最后5个条目有一些日语后面跟着问号,因为日本人意味着来自数据库).

所以问题很可能是数据库,但一切对我来说都是正确的.

有任何想法吗?

Mat*_*den 12

其实只是贴了这个 - php mysql查询编码问题


我倾向于发现的东西很多东西;

mysql_query("SET NAMES 'utf8'");
Run Code Online (Sandbox Code Playgroud)

在执行任何查询之前.

文档建议您使用,mysql_set_charset但我经常看到该功能丢失.

if( function_exists('mysql_set_charset') ){
    mysql_set_charset('utf8', $db_con);
}else{
    mysql_query("SET NAMES 'utf8'", $db_con);
}
Run Code Online (Sandbox Code Playgroud)