在建立表的时候,如果配置不好的话,如果字段为中文,则会在客户端工具查询的时候显示为乱码。
为了解决这个问题,我们在建立数据库的时候就必须先配置好语言环境:
1、linux 系统在安装的时候,安装中文的支持;
2、建立数据库的时候指定默认的语言:
create database Newdatabase DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
3、否则默认的语言一般为:
DEFAULT CHARACTER SET latin1
4、在建立表的时候也指定默认的支持的语言:
CREATE TABLE `test_chs` (
`Host` char(60) collate utf8_bin NOT NULL default '',
`User` char(16) collate utf8_bin NOT NULL default ''
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
到此为止,你在浏览表的时候,中文字段可以显示啦。
根据网上介绍的方法:
如果原来的数据库默认设置为DEFAULT CHARACTER SET latin1 则通过修改my.cnf 文件中的mysqld默认语言和client 的默认语言,都无法显示已有表的中文字段。
修改后也尝试过alter database 和alter table 的方式来修改默认的语言,原先的数据还是显示乱码。
不知道有哪位修改成功过?(通过修改配置可以把先前乱码的中文字段也正确显示出中文。)