如何避免MySQL发生乱码
为避免将资料库MySQL的内容呈现到网页时会出现乱码的情形,可以利用以下的方式检查以及更改MySQL内的文字码设定(CharacterSet)。
检查MySQL内的文字码设定
在MySQL的环境下输入以下的MySQL指令,查看目前的文字码设定(CharacterSet)状态。可以得知各文字码的预设值为「lanten1」。
mysql> showvariables like 'character_set%';
或
mysql> status;
制作新的资料库时,可以利用以下的MySQL指令,设定以及确认资料库的预设文字码。例如"MyDB"的资料库的预设文字码设定为「UTF-8」的万用码。
mysql> createdatabaase MyDB default character set utf8;
mysql> showcreate database MyDB;
编辑/etc/my.cnf档
编辑/etc/my.cnf档内的文字码设定(CharacterSet)后,加以保存。例如:文字码设定为「UTF-8」的万用码。
[client]
default-character-set=utf8
[mysqld]
default-character-set= utf8
skip-character-set-client-handshake
character-set-server= utf8
collation-server= utf8_general_ci
init-connect= SET NAMES utf8
设定档内加入「skip-character-set-client-handshake」是为了抑制MySQL内部自行进行变换。
手动重新启动MySQL
设定完成后,利用手动停止和开启MySQL的服务。
手动停止服务
#/usr/local/mysql/bin/mysqladmin shutdown
手动开启服务
#/usr/local/mysql/bin/mysqld_safe --user=mysql &
最后确认设定的结果,若所设定的文字码皆变为「UTF-8」万用码,表示设定完成。
mysql> showvariables like 'character_set%';
或
mysql> status;
由www.435dns.com整理发表,转载请注明