Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-从PHP插入日语-编码问题_Php_Mysql_Database_Unicode_Encoding - Fatal编程技术网

MySQL-从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表中插入一些日语单词! 如果我插入'こんにちは' 使用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;
$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' );