【发布时间】:2010-11-20 05:03:13
【问题描述】:
我正在尝试在 mysql 表中插入一些日语单词! 如果我使用 phpMyAdmin 插入“こんにちは”,则该单词会从 phpMyAdmin 中正常显示。 但是如果我尝试通过php插入,如下:
mysql_connect($Host, $User, $Password);
mysql_select_db($Database);
$qry = "INSERT INTO table VALUES (0 , 'こんにちは')";
echo mysql_query($qry);
在 phpMyAdmin 我看到“ã”ã‚“ã«ã¡ã¯” ...为什么?
如果我尝试从数据库中获取:
$arr = mysql_fetch_array(mysql_query("SELECT * FROM table where id = 1"));
echo $arr[1];
浏览器什么都不显示!!!
我该如何解决?
提前感谢您的帮助!!!
~编辑~
我的数据库排序规则设置为 utf8_general_ci
~编辑2~
我不需要在 HTML 页面上显示输出,但日语单词会打印在编码设置为 UTF-8 的 XML 页面上。
$plist = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$plist .= "<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n";
$plist .= "<plist version=\"1.0\">\n";
$plist .= "<array>\n";
$plist .= "\t<dict>\n";
$plist .= "\t\t<key>test</key>\n";
$plist .= "\t\t<string>".$arr[1]."</string>\n";
$plist .= "\t</dict>\n";
$plist .= "</array>\n";
$plist .= "</plist>";
echo $plist;
这段代码的输出是:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>test</key>
<string></string>
</dict>
</array>
</plist>
所以,关键“测试”没有价值......我该怎么办?谢谢!
~解决了~
连接数据库后使用函数mysql_set_charset()解决的问题!
【问题讨论】:
-
对于这个 (Mojibake) 和其他 utf8 问题,请参阅stackoverflow.com/questions/38363566/…
标签: php mysql database unicode encoding