我正在尝试在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\u general\u ci
~编辑2~
我不需要在html页面上显示输出,但是日语单词打印在xml页面上,该页面的编码设置为utf-8。
$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>
所以,键“test”没有值。。。我能做什么?谢谢!
~解决了~
连接到数据库后使用函数mysql\u set\u charset()解决的问题!
2条答案
按热度按时间92dk7w1h1#
在插入查询之前尝试此操作
也不确定是否设置了数据库和网页的正确字符集。
html头段中的字符集?
或者类似的
以下内容将帮助您获得更多的想法如何做到这一点。。如果有什么东西不起作用,我就回去。
在这里查看更多
存储和显示unicode字符串(हिन्दी) 使用php和mysql
如何让mysql正确处理utf-8
通过php使用mysql设置utf8
php/mysql存在编码问题
a9wyjsp72#
您必须将数据库字符集设置为utf8,将数据库排序规则设置为utf8\u general\u ci(或其他utf8排序规则),然后我认为您的问题解决了