不能将土耳其字符放在MYSQL中

时间:2015-02-28 13:38:02

标签: php mysql json character-encoding

当我回复一些土耳其人物时,如:

echo "ÇŞİĞÖÜ, çşıüğö"; 

没有问题:
http://i.hizliresim.com/kj9kov.png
但是当我在JSON数组中编码这个字符串,并将编码的字符串放在mysql数据库中时,它显示如下:
{" otherComments":" u00c7u015eu0130u011eu00d6u00dc,u00e7u015fu0131u00fcu011fu00f6"}

当我不在JSON数组中编码时,它只显示"?"而不是土耳其字符 我的php文件中已有此代码:

header('Content-Type: text/html; charset=utf8');

我不知道还能做什么。

这是我的dbconnect文件中的代码:

    mysql_query("SET NAMES 'utf8'", $this->con);
    mysql_query("SET CHARACTER SET utf8", $this->con);
    mysql_query("SET COLLATION_COLLECTION='utf8_turkish_ci'", $this->con);
    mysql_select_db("mehmeta3_team6", $this->con);

所选架构的设置:
http://i.hizliresim.com/gkrAZN.png

表格和列的设置:
http://i.hizliresim.com/YvQlrE.png

1 个答案:

答案 0 :(得分:1)

its not the db side problem

当你将它转换为json格式时回显那个字符串 你会看到它将它转换为某种不同的格式可能是那些特殊字符的ascii值。即使您解码该结果,它也会产生不同的结果而不是您编码的strin。 我认为尝试在没有编码的数据库中插入我的意思是简单的字符串,如ÇŞİĞÖÜ 可能会起作用