将arabic存储到mysql中会产生错误

时间:2012-12-01 08:27:42

标签: php mysql arabic

问题:如何将用阿拉伯语编写的文本存储到MySQL表中?

目前情况:我总是收到此错误

  

警告:#1366字符串值不正确:第1行第'arabic'列的'\ xD8 \ xAD \ xD8 \ xB1 \ xD9 \ x81'

每当我尝试用阿拉伯语输入内容时,我搜索了一下,发现将字符集设置为utf8_bin是解决方案,所以我尝试了但仍然得到相同的错误,并且数据存储为“ ?? ???

实施例

UPDATE `ci`.`patients` SET `Name` = 'حرف' WHERE `patients`.`ID` =3;

结果

???存储在DB

2 个答案:

答案 0 :(得分:3)

使用php正确的mysql数据库中的阿拉伯语文本,请确保:

1- MySQL charset:UTF-8 Unicode (utf8)

2- MySQL连接整理:utf8_general_ci

3-您的数据库和表格排序规则设置为:utf8_general_ci or utf8_unicode_ci

然后,在连接到db:

时,在PHP脚本中添加此代码
mysql_query("SET NAMES 'utf8'"); mysql_query('SET CHARACTER SET utf8');

答案 1 :(得分:1)

将MySQL table charset设置为utf8,将collat​​ion设置为utf8_general_ci或utf8_unicode_ci。

我不是PHP的东西,但是如果你有某种连接字符串,你也应该在字符串中将字符串设置为utf8。