我有一个昵称列,它的集合是utf8-general-ci
,表集合是UTF-8。但波斯语/阿拉伯语文本存储在下面。
http://i.stack.imgur.com/CCWOa.png
如何解决这个问题?
我使用此代码保存
$sql = "INSERT INTO kashef_users(nickname ,username ,email ,ostan ,age ,gender ,sdk ,phonename ,imei ,time ) VALUES ".$data;
$data
包含一个字符串,数据中的所有内容都是正确的
答案 0 :(得分:4)
您似乎正在使用php
填充$data
。因此,您必须将字符集设置为UTF8
(即SET NAMES 'utf-8';
)。例如,如果您使用mysqli
,则代码将如下所示:
<?php
$conn = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
mysqli_set_charset($conn,"utf8");
如果您使用PDO
或this answer弃用mysql
,请使用this one。此外,不要忘记使用utf8-persian-ci
集合。
如果您有表单,请在html
中将accept-charset
设为UTF-8
:
<form action="" accept-charset="UTF-8">