`
liuxinglanyue
  • 浏览: 561759 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

彻底解决MySql在UTF8字符集下乱码问题

阅读更多

为了顺利的开发一个多语言的国际化J2EE程序,需要修改数据库字符集,我的做法如下: 

安装 MySq时选择字符集为UTF-8 

修改MySql安装目录下的my.ini中配置的默认编码: 
该文件中有两处这样的配置:default-character-set=latin1 
将这两处改成:default-character-set=utf8 

新建数据库需指定字符集: 
UTF8: CREATE DATABASE mmtye DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 

在命令行查看字符集编码:show variables like '%char%'; 会看到如下信息: 
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_dir       | D:\MySQL\share\charsets\ 

以上内容在重启MySql后也一直有效,无需每次启动数据库都要指定。 

A、为了在命令行下能正确查看中文,命令行下执行: 
set character_set_results=gbk; 

B、若需要在windows命令行执行insert、update,则执行: 
set character_set_client=gbk; 
A、B 两个命令重启数据库前有效,重启后就失效了。 

转:http://www.iteye.com/topic/810348#1770540

 

 

补充:

 

这个只是解决了mysql的编码,但是没有解决j2ee的编码问题。
解决j2ee编码问题步骤:
1.设置mysql的字符编码为utf-8,可以在安装的时候设置,也可以用楼主的方法设置
2.设置容器的编码:比如tomcat,打开server.xml,找到8080 加速URIEncoding="utf-8"
3.设置url的字符编码。应为url传递参数默认都是iso8859-1,所以需要将头信息改成utf-8,可以自己写个过滤器修改头信息,也可以用spring现有的过滤器。
以上3点完成,这才叫彻底解决编码问题了

 

 

如果SSH2框架的话,还需要在Action中加上序列化serialVersionUID,在数据库连接的地方我常常也会加一个characterEncoding=utf-8

分享到:
评论

相关推荐

    MYSQL字符集乱码的解决

    ### MySQL字符集乱码问题及解决方案 #### 一、问题背景 在使用MySQL数据库时,很多用户会遇到中文字符显示为乱码的情况。这通常是因为MySQL数据库中的字符集设置不一致导致的。例如,在命令行下操作MySQL时,可能会...

    mysql 字符集 乱码问题

    3. **修改my.cnf配置文件**:编辑MySQL服务端的配置文件`my.cnf`,在`[mysqld]`或`[mysql]`节下添加`init-connect='SET NAMES utf8'`,这样每次启动MySQL服务时都会自动设置字符集为UTF-8。 - 示例配置: ``` ...

    设定mysql字符集解决终端乱码

    本文将详细介绍如何通过设定 MySQL 的字符集来解决终端乱码的问题。 #### 一、理解 MySQL 字符集相关变量 在 MySQL 中,有多个与字符集相关的系统变量,这些变量决定了数据在客户端和服务端之间的传输以及存储方式...

    mysql示例数据库(world)_解决中文乱码_使用UTF8字符集

    总结来说,解决MySQL中文乱码问题的关键在于正确设置服务器、数据库、表、列以及客户端的字符集为UTF8。通过以上步骤,你可以在world示例数据库中存储和操作中文数据,而不会遇到乱码问题。记住,字符集的统一和兼容...

    MYSQL字符集与乱码问题分析

    《MySQL字符集与乱码问题分析》一文深入探讨了字符编码的历史背景、技术细节以及在MySQL中的应用,尤其关注解决常见的乱码问题。本文将根据提供的内容摘要,详细阐述其中涉及的关键知识点。 ### 字符集背景知识 ##...

    mysql乱码的解决方法

    在某些情况下,我们可以通过临时设置字符集来解决问题,但这只是治标不治本的方法: ```sql SET character_set_client = utf8; SET character_set_connection = utf8; SET character_set_database = utf8; SET ...

    Unity3D教程:修改mysql字符编码成为UTF82

    首先,我们遇到的问题是即使设置表的默认字符集为UTF8,并且在发送查询时使用UTF-8编码,仍然会出现乱码的情况。这是因为在数据库连接层面上,字符集设置可能没有正确地同步。为了解决这个问题,我们需要在发送查询...

    精通MySQL字符集与校对集

    例如,`utf8_general_ci`和`utf8_bin`都是`utf8`字符集下的校对集,其中`utf8_general_ci`区分大小写但不区分重音,而`utf8_bin`则区分大小写和重音。 - **校对集示例**:在创建表或列时,可以通过`COLLATE`关键字...

    解决 docker mysql 中文乱码问题

    docker mysql 字符集设置 使用 docker 启动 mysql 容器可能会出现中文乱码的情况,这里记录如何制作支持中文的 mysql 镜像 docker版本:18.06 mysql 版本:5.7 1. 创建 my.cnf 文件 [client] default-character-set=...

    mysql乱码问题解决办法

    在解决MySQL乱码问题前,首先需要了解MySQL中与字符集相关的配置项及其含义: 1. **`character_set_system`**:系统默认使用的字符集。 2. **`character_set_server`**:服务器默认使用的字符集。 3. **`character_...

    设置mysql字符集

    本文将深入探讨如何设置MySQL的字符集,以及解决因字符集配置不当导致的乱码问题。 ### MySQL字符集的基本概念 字符集(Character Set)定义了数据在存储和处理时所采用的编码标准,而校对集(Collation)则规定了...

    flowable相关数据库表mysql, 包含两种字符集utf8 和 utf8bm4

    springboot在集成flowable时,添加flowable依赖,配置完成数据库连接,项目第一次启动会初始化数据库flowable相应的表,默认会加载的字符集为utf8(CHARSET=utf8 COLLATE utf8_bin),在mysql8后,在创建数据库时,...

    彻底解决C# asp.net连接MySQL乱码问题

    ### 彻底解决C# ASP.NET 连接MySQL乱码问题 在开发过程中,尤其是在处理中文数据时,经常遇到的一个问题是数据库连接时出现乱码。本文将详细介绍如何彻底解决使用C# ASP.NET 应用程序连接 MySQL 数据库时出现的乱码...

    MySql修改数据库编码为UTF8避免造成乱码问题

    为了彻底解决这一问题,需要在MySQLInstanceConfig.exe中重新启动设置,将默认编码设置为utf8。 MySQLInstanceConfig.exe是MySQL安装目录下的一个配置工具,通过这个工具可以对数据库实例进行配置,包括默认字符集...

    Linux mysql utf8

    在这个文件中,我们可以设置 MySQL 的默认字符集为 UTF8。 首先,我们需要找到 `[client]` 部分,并添加 `default-character-set=utf8` 行,以设置客户端的默认字符集为 UTF8。 其次,我们需要找到 `[mysqld]` ...

    Mysql字符集编码详解

    Mysql字符集编码详解 Mysql数据库中的字符集编码问题是许多开发者经常遇到的一个问题,特别是在JAVA项目中。解决这个问题需要从多方面入手,包括...通过设置合适的字符集,可以彻底解决JAVA项目中的中文乱码问题。

    mysql乱码解决问题

    ### MySQL乱码问题解决方案 ...通过以上步骤,可以有效地解决由字符集不匹配导致的MySQL乱码问题。此外,建议统一使用UTF-8作为字符集,这样可以更好地支持国际化需求,减少因字符集差异带来的问题。

    在DELPHI中使用MyDAC连接MySQL数据库时中文显示乱码的解决方法

    2. **数据库表的字符集设置**:如果MySQL数据库中的表字符集不是统一的UTF-8,那么在查询时就可能出现乱码现象。 3. **连接参数配置不当**:在使用MyDAC组件建立数据库连接时,如果没有正确设置字符集参数,也可能...

Global site tag (gtag.js) - Google Analytics