我试图在mysql表中插入一些日语单词! 如果我使用phpMyAdmin插入'こんにちは',这个词在phpMyAdmin中显示得很好。 但是,如果我试图通过PHP来插入,如下:MySQL - 从PHP插入日语 - 编码问题
mysql_connect($Host, $User, $Password);
mysql_select_db($Database);
$qry = "INSERT INTO table VALUES (0 , 'こんにちは')";
echo mysql_query($qry);
在phpMyAdmin我看到“一个个”,“A«ã¡ã¯” ......为什么?
如果我尝试从数据库中获取:
$arr = mysql_fetch_array(mysql_query("SELECT * FROM table where id = 1"));
echo $arr[1];
浏览器显示什么!
我该如何解决?
预先感谢您的帮助!
〜编辑〜
我的数据库排序规则是设置于utf8_general_ci
〜EDIT 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()解决
问题!
谢谢! 命令mysql_query(“SET NAMES utf8”);解决了我有关在数据库中插入日语单词的问题! 但是,在XML上显示这些词的问题尚未解决! – BitDrink 2009-08-17 11:08:24
您是否在XML中设置了编码? – TigerTiger 2009-08-17 11:14:00
是的,你可以在我的文章的第二个编辑部分看到XML代码! – BitDrink 2009-08-17 11:25:19