MySQL基础配置之mysql默认字符编码的设置

本文详细介绍了在使用较新版本的MySQL(5.5.25a)时遇到的中文乱码问题及其解决方案。通过修改mysql配置文件my.ini中的字符集设置,将default-character-set替换为character-set-server=utf8,成功解决了新建表的编码问题。

准备用PHP写一个留言板锻炼锻炼,满怀激情做了一天,到用mysql建立数据库的时候,发现新建表的编码为Latin1,中文全是乱码。网上查了一个晚上的资料,试了多种方法都不行。弄到0点钟,实在没脾气了,直接上床睡觉。
今早继续,终于找到了解决的方法。发现原来跟昨天查的资料就那么一点点的差距,原因竟然是我的mysql版本太新了(5.5.25a),泪奔……
那么究竟是如何修改的呢?请看下面(本人为windows系统):
0、终止mysql服务
1、打开mysql配置文件:mysql/bin/my.ini。如果没有就把my-medium.ini复制为一个my.ini即可
2、打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭(mysqld中增加如果出错,可以尝试试character-set-server=utf8
(问题就在这儿,我的只能使用character-set-server=utf-8。原因是:参数“default-character-set=utf8”在较新版本的MySQL 中已移除。)
3、启动mysql服务
4、用命令   SHOW VARIABLES LIKE 'character%';  可以查询到mysql编码的方式。修改成功后如下:

Variable_nameValue
character_set_client                                utf8
character_set_connection                                utf8
character_set_database                                utf8
character_set_filesystem                                binary
character_set_results                                utf8
character_set_server                                utf8
character_set_system                                utf8
character_sets_dirD:\Program\Web\Wamp\mysql\share\charsets\

(刚刚发现在phpmyadmin中用这条命令的时候,value的值可以修改。不知道这样是否可行,下次出现编码问题考虑一下)

以备不时之需,附上Linux下mysql的解决方法:
1、中止MySQL服务(bin/mysqladmin -u root shutdown)
2、在/etc/下找到my.cnf,如果没有就把MySQL的安装目录下的support-files目录下的my-medium.cnf复制到/etc/下并改名为my.cnf即可
3、打开my.cnf以后,在[client]和[mysqld]下面均加上default-character-set=utf8(不知道会不会出现我的问题),保存并关闭
4、启动MySQL服务(bin/mysqld_safe &)

非常简单,这样的修改一劳永逸,今后MySQL一切相关的默认编码均为UTF-8了,创建新表格的时候无需再次设置

转载于:https://www.cnblogs.com/felix1993/archive/2012/09/21/2696481.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值