`
yuxiaoshui
  • 浏览: 28112 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

linux mysql 5.5 设置编码

阅读更多
公司新搭建了一套linux环境, 服务、数据库都架设在这上面。
我的任务是把整个一套的编码问题解决了。

应用层使用 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 这个过程使用一致的编码格式即可,前提是你需要知道各个过程哪里发生了解码、哪里发生了编码。

1
0
分享到:
评论

相关推荐

    linux 安装mysql5.5文档

    ### Linux环境下MySQL 5.5的安装与配置详解 #### 一、环境准备与软件下载 在开始安装MySQL 5.5之前,首先确保Linux系统(本例为CentOS)已准备好并创建了用于存放软件包的目录。具体操作如下: 1. **创建目录**:...

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

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

    linux下安装mysql5.5

    在Linux系统中安装MySQL 5.5的步骤详细而关键,这个过程涉及到多个环节,包括卸载旧版本、安装依赖、解压安装包、配置权限、启动服务以及进行安全设置。以下是对整个过程的详细说明: 首先,如果你的系统中已经存在...

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

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

    mysql5.5版本64位及中文乱码彻底解决方法2句命令ok

    如果你在导入数据时依然遇到问题,可能是数据文件本身的编码格式与MySQL的字符集不匹配,需要先将数据文件转换为正确的编码格式再进行导入。 记住,每个数据库系统对字符集的处理方式可能有所不同,因此在处理类似...

    MySQL数据库社区版5.5安装方法

    ### MySQL数据库社区版5.5安装方法详述 在IT领域,数据库管理系统的选用与配置是构建稳定、高效数据处理架构的关键步骤。其中,MySQL作为全球最流行的关系型数据库管理系统之一,其社区版5.5版本因其开源免费、功能...

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

    本篇文章将详细阐述如何将Linux下的MySQL 5.5或5.6版本的字符集编码更改为UTF8,以支持更多的语言和特殊字符。 首先,我们需要了解MySQL中字符集的概念。字符集(Character Set)定义了数据存储和检索时使用的字符...

    基于mysql 5.5 设置字符集问题的详解

    总之,正确设置MySQL 5.5的字符集需要理解各种配置选项,并且注意不同部分的设置会影响不同的环节。在遇到问题时,查看错误日志,如`/var/lib/mysql/${hostname}.err`,并根据官方文档或在线资源进行调整,通常是...

    解析mysql 5.5字符集问题

    首先,我们来看一下在MySQL 5.5之前,如何通过`my.cnf`配置文件来设置字符集。传统的做法是在`my.cnf`中添加`default-character-set=utf8`,这会设置服务器的默认字符集为UTF-8,一种广泛使用的多语言编码。然而,在...

    Mysql5.5安装配置方法及中文乱码的快速解决方法

    对于MySQL 5.5中的中文乱码问题,首先要确保服务器配置支持UTF-8编码。在MySQL安装目录的`my.ini`文件中, `[client]`部分添加`default-character-set=utf8`,并修改`[mysqld]`部分的`character-set-server=utf8`和`...

    linux中安装mysql教程.pdf

    本文将提供一个详细的Linux上安装MySQL的教程,以及关于字符集设置的相关知识。 首先,我们需要从MySQL的官方网站下载安装包。访问http://dev.mysql.com/downloads/mysql/5.5.html#downloads,根据你的Linux版本...

    MySQL-embedded-5.5.21-1.sles11.x86_64.rar

    8. **Unicode支持**:MySQL 5.5全面支持Unicode标准,特别是UTF-8编码,确保了多语言环境下的数据处理。 9. **性能提升**:通过改进内存管理、并行线程处理和缓冲池优化,MySQL 5.5.21在处理高并发请求时表现出更高...

    linux中安装mysql教程.doc

    如果公司系统采用GBK编码,你需要在安装过程中修改MySQL的字符集设置。在Linux中,MySQL的配置文件通常是`/etc/my.cnf`,但这个文件可能不存在。可以使用`find`命令查找所有的`.cnf`文件: ```bash find / -iname '...

    数据库软件 mysql.rar

    MySQL5.5是其一个重要的版本,它在性能、可扩展性和安全性上都有显著提升。 MySQL的核心特性包括: 1. **关系型数据库**:MySQL基于ACID(原子性、一致性、隔离性和持久性)事务模型,支持多种数据类型,如INT、...

    MySQL安装和配置.pptx

    用户可以通过提供的链接下载MySQL安装包:[https://www.mysql.com/downloads/MySQL5.5](https://www.mysql.com/downloads/MySQL5.5)。点击下载页面上的“Download”按钮即可获取安装文件`mysql-5.5.62-winx64.msi`。...

    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. 权限...

Global site tag (gtag.js) - Google Analytics