Linux下Mysql乱码解决方案

最近在做ProjectForge的源码修改,当然改用了MySQL数据库,但改过之后,有一个蛮讨厌的问题,当然是乱码了。
PF这边使用的是UTF-8编码,按照设想UTF-8应该是一切正常的啊,原来还是需要在MySQL这边做一些设定:

彻底解决方案:
修改Linux下的/etc/my.cnf文件,我的Linux版本为RHEL6.1,MySQL是本地源安装的,版本号为5.1.52,这里我贴出我的/etc/my.cnf文件,其中一部分是我手动加的,我会加以说明

$sudo emacs /etc/my.cnf

内容如下:

#配置客户端
[client]
#默认字符集为utf8
default-character-set=utf8

#配置服务器端
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
#默认字符集为utf8
default-character-set=utf8
#设定连接数据库时使用utf8编码
init_connect='SET NAMES utf8'
#设定使用的数据库存储引擎
default-storage-engine=INNODB

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


然后需要重启mysql使配置文件生效:

$sudo /etc/init.d/mysqld restart


然后再次登录mysql:

mysql> \s

显示内容如下:

mysql> \s
--------------
mysql Ver 14.14 Distrib 5.1.52, for redhat-linux-gnu (i386) using readline 5.1

Connection id: 11
Current database: projectforge
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.1.52 Source distribution
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 2 hours 55 min 24 sec

Threads: 9 Questions: 620 Slow queries: 0 Opens: 68 Flush tables: 1 Open tables: 61 Queries per second avg: 0.58
--------------

mysql>



发现都改成了UTF8字符集了,现在就不用再怕乱码了。
当然你的mysql配置文件也不一定存储在/etc/my.cnf,也可能是etc/mysql/my.cnf等,修改方法都大同小异,在此笔者就不一一说明。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值