`
ehuangmy
  • 浏览: 16839 次
  • 来自: ...
社区版块
存档分类
最新评论

linux mysql 5.5 设置编码

 
阅读更多

应用层使用 spring 的org.springframework.web.filter.CharacterEncodingFilter 使用UTF-8转码,JSP页面统统使用UTF-8。关键是在mysql上面有问题, 由于第一次使用mysql,很不清楚怎么设置。在网上找了一大堆,按照方式修改,结果均不能启动。  后来想是不是由于版本问题造成的?  看了一下版本:5.5 原来果然有版本限制。下面是具体设置。 


1. 首先使用mysql命令进入mysql命令界面。使用如下命令查看编码设置 
    mysql> status 
-------------- 
mysql  Ver 14.14 Distrib 5.5.12, for Linux (i686) using readline 5.1 

Connection id:          20 
Current database: 
Current user:           root@localhost 
SSL:                    Not in use 
Current pager:          stdout 
Using outfile:          '' 
Using delimiter:        ; 
Server version:         5.5.12-log MySQL Community Server (GPL) 
Protocol version:       10 
Connection:             Localhost via UNIX socket 

Server characterset:    latin1     #server char 
Db     characterset:    latin1     #db     char 
Client characterset:    latin1     #client char 
Conn.  characterset:    latin1     #connection char 


2. 上面的latin1就是产生乱码的罪魁祸首,因为入库 和 数据显示的时候使用的UTF-8,因此,只需要将上面命令查看到的编码修改即可。 

3. 修改/etc/my.cnf 中的设置, 
     在[client]节点下添加  
       default-character-set=utf8 
    在[mysqld]节点下添加 
       character-set-server=utf8 
      collation-server=utf8_general_ci 
   保存即可(如果你是使用vi来操作,则保存时会报错,因为这个文件是只读属性,可以使用 wq! 强制保存退出)。 

4. 重启mysql即可。 


5. 这里面本没有什么高深之处, 重要一点是要注意版本, 网上有不少的修改帖子,都是要在[mysqld]下加上 default-character-set=utf8  ,实际上5.0(>)版本以上是不支持的,如果你这样修改, 你的mysql将不能启动, 报一个错,信息是"上次退出的时候没有保存PID ??  " (大概是这个错误提示) 


关于乱码: 

    这么多年来,碰到的乱码问题可多了, 最开始学习jsp ,使用tomcat、到各种数据库, 或者从xml等解析数据,   我的总结是: 乱码不可怕, 只要把握一条原则即可, “这个东西用什么编码的, 用什么解码的,用什么编码的, 用什么解码的....”,只要保证这个过程中的编码、解码过程一致就OK, 例如,你用GBK编码了一个str, 然后用UTF解码肯定会出错,但是你如果用这个UTF8的str解码后的byte用GBK再次编码就么有问题了。 


    要清楚本质: 不论什么东东, 在底层表示的时候都是 byte[], 而在真正编码的时候,就可能是用一个字节、两个字节 ==来表示某种语言的一个字符, 例如一个asc字符用一个byte表示即可,但是汉字却是使用两个字节。   解码时,一个汉字用两个byte表示,如果你在编码的时候用这两个byte来解析成两个字符,则结果不是原字符-----这就是乱码原理。 


最懒的方式: 保证你的项目 从UI-server-DB 这个过程使用一致的编码格式即可,前提是你需要知道各个过程哪里发生了解码、哪里发生了编码。

分享到:
评论

相关推荐

    Linux MySQL 5.5安装文件及详细说明【共两个分资源】

    本资源包含了Linux系统中安装MySQL5.5的详细操作说明及数据库的客服端和服务端的安装文件。其中操作说明详细记录了MySQL数据库的安装卸载以及启动停止等常用命令,远程数据库权限访问配置,数据库编码配置等基本命令...

    Linux MySQL 5.5安装文件及详细说明【共两个分资源】第二部分

    本资源包含了Linux系统中安装MySQL5.5的详细操作说明及数据库的客服端和服务端的安装文件。其中操作说明详细记录了MySQL数据库的安装卸载以及启动停止等常用命令,远程数据库权限访问配置,数据库编码配置等基本命令...

    Linux下MySQL 5.5/5.6的修改字符集编码为UTF8的方法

    下面小编就为大家带来一篇Linux下MySQL 5.5/5.6的修改字符集编码为UTF8的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Linux系统Mysql数据库详细安装教程!.pdf

    Linux系统Mysql数据库详细安装教程! Wnidows系统的Mysql数据库相信⼤家都会安装,也很简单,但是在linux系统下就⽐较⿇烦了, 今天就给⼤家讲解下如何在linux系统下安装Mysql数据库。 安装之前⾸先要找出系统⾃带的...

    MYSQL中文手册

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限...

    MySQL 5.1参考手册

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的...

    MySQL 5.1参考手册中文版

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限...

    mysql5.1中文手册

    mysql_fix_privilege_tables:升级MySQL系统表 5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. ...

    mysql官方中文参考手册

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的...

    MySQL5.1参考手册官方简体中文版

    5.5. MySQL服务器关机进程 5.6. 一般安全问题 5.6.1. 通用安全指南 5.6.2. 使MySQL在攻击者面前保持安全 5.6.3. Mysqld安全相关启动选项 5.6.4. LOAD DATA LOCAL安全问题 5.7. MySQL访问权限系统 5.7.1. 权限系统的...

    手册包(html+css+js+mysql+linux+php等等)

    网页设计需要的html5、css2.0、css3.0、javasrcipt5.5手册包;MySQL的5.1版本手册包;PHP的函数查询、编码规范手册包;网页设计配色常识等等。方便开发查询使用

    wix-embedded-mysql:基于https的嵌入式mysql

    您的测试可以在类似于生产的环境中运行:匹配版本,编码,时区,数据库/模式/用户设置; 它比手工安装正确的版本容易,容易得多。 您可以在没有任何本地设置的情况下为每个项目使用不同的版本/配置; 支持多种...

    PHP海洋cms(海洋视频内容管理系统)

    建议使用Mysql的5.5/5.6版本以实现最高执行效率。 # 组件要求 | PHP:本程序支持PHP5.2及以上版本 | MySQL:必须开启MySQLi扩展,否则无法连接数据库 | fsockopen:不支持将导致采集、远程资料本地化等功能无法...

    2024新版仿趣闲赚悬赏猫任务兼职源码

    环境是Linux系统 PHP version 5.6 sql5.5 其他什么都不需要 虚拟机是不行的! 不要使用虚拟机 只需使用服务器 1、上传源码数据库,导入数据库,解压源码,修改数据库配置,就可以轻松搭建了。 新手基本可以完成。 ...

    java8源码-wechat_shop_lobster:美食外卖微信商城(公众号商城微信支付)包括微商城,后台管理.包含优惠折扣,砍价,三级分

    MySql5.5以上 部署流程: 安装Java8以上, 设置环境变量, 命令行输入javac可以看到信息. (可下载下方网盘的Java一键安装配置包) 安装MySql, 连接配置位于 /conf/application.conf, 新建库(编码utf8_unicode_ci), 并...

    PHP帮助手册全集

    JavaScript 5.5.CHM JavaScript核心参考手册.chm jQuery1.8.3_20121215.chm jQuery1.11.0_20140330.chm Linux命令大全(修改版).chm Linux实用培训学习教程1.0(最终版).chm MySQL中文手册.chm PHP帮助手册(2014.09.01...

    java8源码-rent_financial_platform:租约金融微信平台(公众号平台微信支付)功能包含房东录入租约信息,获得信贷资质,

    MySql5.5以上 部署流程: 安装Java8以上, 设置环境变量, 命令行输入javac可以看到信息. (可下载下方网盘的Java一键安装配置包) 安装MySql, 连接配置位于 /conf/application.conf, 新建库(编码utf8_unicode_ci), 并...

    java8源码-asset_management:使用代码生成器直接生成,功能包含后台数据管理,两级管理员,WebSocket数据推送更新,状

    MySql5.5以上 部署流程: 安装Java8以上, 设置环境变量, 命令行输入javac可以看到信息. (可下载下方网盘的Java一键安装配置包) 安装MySql, 连接配置位于 /conf/application.conf, 新建库(编码utf8_unicode_ci), 并...

Global site tag (gtag.js) - Google Analytics