您的位置:首页 > 运维架构 > Linux

关于Linux下Mysql的编码问题

2014-12-15 14:14 274 查看
前几天在做web,自己的电脑是win8系统,使用tomcat+servlet+jsp+MySQL,做调试一切正常,但后来部署到Linux系统下出现了MySQL乱码问题,windows下MySQL的默认编码是UTF-8的,而linux下MySQL的默认编码是latin1。在网上也找了些方法,其中有一个修改 .cnf文件的,修改后MySQL根本不能识别(难道是我打开的方式不对?)。

另一种是进入MySQL,输入status; 可以查看编码。

Server characterset: latin1

Db characterset: latin1

Client characterset: latin1

Conn. characterset: latin1

输入

set names utf8;

可将后两项修改为uft8;(前两个貌似有点傲娇啊)

然后再次尝试

set character_set_server=utf8;

set character_set_database=utf8;

很好前两项也改过来了,不过,问题又来了,下次再打开的时候,前两项又变成latin1了,好吧,不怎么了解数据库的我没辙了。

不过我发现这并不会影响我使用。不过使用数据库新建是要注意一下,建议使用如下语句,编码就不会出错了。

create database databasename charset utf8;

use databasename;

create table tablename (***********) charset utf8;

虽然建数据库已经设为utf8,但还是建议建表时也加上charset utf8,没测试过不加会怎么样,因为我的Linux下没安装编译工具,测试实在是不方便,问题的解决方法都是不断去网上找,以及自己和朋友不断测试才得出来的,可能不是最佳解决方法,但我相信一定会有用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: