如何存储非英文字符?

9

文本列中的非英语字符混乱。阿拉伯文本看起来像这样:

نـجـم سـهـيـل

如何正确存储非英语字符?

3个回答

12

您应该考虑使用utf8来存储文本。

您可以在创建数据库时执行此操作:

CREATE DATABASE mydb
  DEFAULT CHARACTER SET utf8
  DEFAULT COLLATE utf8_general_ci;

您也可以在安装或启动时配置mysql以使用utf8(请参见Mysql手册)。

Mysql手册页面涵盖了字符集和校对方面的所有内容:http://dev.mysql.com/doc/refman/5.0/en/charset.html

连接的字符集可以通过以下方式更改:

SET CHARACTER SET utf8

更多细节 在这里 和章节字符集支持中。


2
以下查询解决了这个问题。
ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

如果可能的话,对于整个数据库进行设置会更好。请使用SET NAMES utf8。 - Ruslan Abuzant

2

你使用的操作系统是什么?

如果是Linux,则最好将系统区域设置为utf8,例如“en_US.utf8”。

并且,为了确保,请在连接后立即发出“SET NAMES UTF8”命令到mysql。

(数据库字符集/排序规则也必须是utf8)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接