我有像这种格式存储在mysql中的阿拉伯语文本
شقق جديده غبر مسكونه 220 متر..
.150متر..طبربور ..ااسكانات قموم
والنجار للاستÙسار
它采用这种格式,因为在从HTML文本框中将数据插入数据库之前我没有使用下面的内容:
mysql_query('SET CHARACTER SET utf8');
我现在的问题是,如何将文本转换为MySQL列,使其成为可读文本:
شقق جديده غبر مسكونه 220 متر ..150متر..طبربور ..ااسكانات قموم والنجار للاستفسار
我尝试了下面的一个列单元格来检查,但它不起作用:
mysql_query('SET CHARACTER SET utf8');
$sql = 'SELECT content FROM messages WHERE id=500';
$qry = mysql_query($sql);
$result =mysql_fetch_object($qry);
$text= $result->content;
mysql_query('SET CHARACTER SET utf8');
$sql ='UPDATE messages SET content= "'.$text.'" where id=500';
mysql_query($sql);
注意:如果我使用以下
mysql_query('SET CHARACTER SET utf8');
在我从HTML textarea将数据插入数据库之前,它适用于存储和读取,但我需要将已输入的数据转换为表格。
感谢。
简单的解决方案可以通过3个简单的步骤完成:
一个。通过以下命令将数据库排序规则更改为utf8:
ALTER DATABASE <db_name> CHARACTER SET utf8 COLLATE utf8_general_ci;
我想要更改的表格单元格已经整理了utf8_general_ci
B中。实现此查询以更改内容:
update messages set content=CONVERT(BINARY CONVERT(content USING latin1) USING utf8);
℃。在连接到DB之前添加以下内容:
mysql_query('SET CHARACTER SET utf8');
你完成了!谢谢大家
答案 0 :(得分:1)
使用ALTER DATABASE
和ALTER TABLE
命令。
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;