MySQL-从PHP插入日语-编码问题
我正在尝试在mysql表中插入一些日语单词! 如果我插入'こんにちは' 使用phpMyAdmin,单词将从phpMyAdmin中精细显示。 但如果我尝试通过php插入它,如下所示:MySQL-从PHP插入日语-编码问题,php,mysql,database,unicode,encoding,Php,Mysql,Database,Unicode,Encoding,我正在尝试在mysql表中插入一些日语单词! 如果我插入'こんにちは' 使用phpMyAdmin,单词将从phpMyAdmin中精细显示。 但如果我尝试通过php插入它,如下所示: mysql_connect($Host, $User, $Password); mysql_select_db($Database); $qry = "INSERT INTO table VALUES (0 , 'こんにちは')"; echo mysql_query($qry); 在phpMyAdmin中我看到
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;
$plist=“\n”;
$plist.=“\n”;
$plist.=“\n”;
$plist.=“\n”;
$plist.=“\t\n”;
$plist.=“\t\t测试\n”;
$plist.=“\t\t”。$arr[1]。“\n”;
$plist.=“\t\n”;
$plist.=“\n”;
$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\u set\u charset()解决的问题!在插入查询之前尝试此操作
mysql_query("SET NAMES utf8");
还不确定是否设置了数据库和网页的正确字符集
HTML头部分中的字符集
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
下面的内容将帮助你获得更多的想法如何去做。如果有些东西不起作用,请回复
请在此处查看更多信息
您必须将数据库字符集设置为utf8,将数据库排序规则设置为utf8\u general\u ci(或其他utf8排序规则),然后我认为您的问题解决了谢谢!命令mysql\u query(“set NAMES utf8”);解决了我在数据库中插入日语单词的问题!但在XML上显示这些单词的问题尚未解决!您是否在那里设置了XML编码?是的,您可以在我文章的第二个编辑部分看到XML代码!有关此问题(Mojibake)和其他utf8问题,请参阅
header( 'Content-Type: text/html; charset=utf-8' );