在mysql数据库中存储波斯语\阿拉伯语文本

在mysql数据库中存储波斯语\阿拉伯语文本,mysql,Mysql,我有一个昵称为的列,它的集合是utf8 general ci,表集合是UTF-8。但波斯语/阿拉伯语文本存储在其中,如下所示 我们应该如何解决这个问题 我使用此代码来保存 $sql = "INSERT INTO kashef_users(nickname ,username ,email ,ostan ,age ,gender ,sdk ,phonename ,imei ,time ) VALUES ".$data; $data包含一个字符串,数据中的所有内容都是正确的似乎您正在使用php来

我有一个昵称为的列,它的集合是
utf8 general ci
,表集合是UTF-8。但波斯语/阿拉伯语文本存储在其中,如下所示

我们应该如何解决这个问题

我使用此代码来保存

$sql = "INSERT INTO kashef_users(nickname ,username ,email ,ostan ,age ,gender ,sdk ,phonename ,imei ,time ) VALUES ".$data;

$data
包含一个字符串,数据中的所有内容都是正确的

似乎您正在使用
php
来填充
$data
。因此,您必须将字符集设置为
UTF8
(即
设置名称“utf-8”;
)。例如,如果您使用的是
mysqli
,您的代码如下:

<?php
    $conn = new mysqli(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
    mysqli_set_charset($conn,"utf8");

您确定这不仅仅是显示它的应用程序中的一个bug吗?如果它确实存储错误,则很可能是插入错误,因此在插入字符串之前,您需要显示执行插入的代码以及与字符串一起工作的任何其他代码。请使用
uft-8-posian
而不是
General ci
“数据中的所有内容都是正确的”-是否确定
$data
采用了数据库所需的编码?您的代码看起来可能是PHP,而PHP没有本机Unicode字符串,因此必须确保字符串采用正确的编码(例如UTF-8),并将数据库连接配置为使用相同的编码。
<form action="" accept-charset="UTF-8">