MySQL 4.0 是一個經(jīng)典的數(shù)據(jù)庫版本,但是它存在一個常見的問題,即數(shù)據(jù)亂碼。
數(shù)據(jù)亂碼的原因是因為MySQL 4.0 默認使用 Latin1 編碼,而不是現(xiàn)在常用的 UTF-8 編碼。
如果在 MySQL 4.0 中存儲中文字符,會出現(xiàn)亂碼。下面是一個例子:
mysql>create table test (name varchar(20) not null); Query OK, 0 rows affected (0.02 sec) mysql>insert into test values('中文'); Query OK, 1 row affected (0.01 sec) mysql>select * from test; +-------------+ | name | +-------------+ | é??é¢? | +-------------+ 1 row in set (0.00 sec)
解決這個問題的方法是將 MySQL 4.0 的編碼設(shè)置為 UTF-8??梢酝ㄟ^以下步驟來解決:
1. 通過修改 my.cnf 文件,在 [mysqld] 下添加字符集設(shè)置:
[mysqld]
character_set_server=utf8
2. 重啟 MySQL 服務(wù)。 3. 現(xiàn)在可以重新創(chuàng)建表,并且在表中存儲中文字符,不會出現(xiàn)亂碼了:
mysql>create table test (name varchar(20) not null);
Query OK, 0 rows affected (0.01 sec)
mysql>insert into test values('中文');
Query OK, 1 row affected (0.00 sec)
mysql>select * from test;
+------+ | name | +------+ | 中文 | +------+ 1 row in set (0.00 sec)
在 MySQL 4.0 中解決數(shù)據(jù)亂碼的問題可能會比較困難,但通過設(shè)置 UTF-8 編碼,問題可以得到解決。
上一篇mysql46道題