为了顺利的开发一个多语言的国际化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时,可能会...
3. **修改my.cnf配置文件**:编辑MySQL服务端的配置文件`my.cnf`,在`[mysqld]`或`[mysql]`节下添加`init-connect='SET NAMES utf8'`,这样每次启动MySQL服务时都会自动设置字符集为UTF-8。 - 示例配置: ``` ...
本文将详细介绍如何通过设定 MySQL 的字符集来解决终端乱码的问题。 #### 一、理解 MySQL 字符集相关变量 在 MySQL 中,有多个与字符集相关的系统变量,这些变量决定了数据在客户端和服务端之间的传输以及存储方式...
总结来说,解决MySQL中文乱码问题的关键在于正确设置服务器、数据库、表、列以及客户端的字符集为UTF8。通过以上步骤,你可以在world示例数据库中存储和操作中文数据,而不会遇到乱码问题。记住,字符集的统一和兼容...
《MySQL字符集与乱码问题分析》一文深入探讨了字符编码的历史背景、技术细节以及在MySQL中的应用,尤其关注解决常见的乱码问题。本文将根据提供的内容摘要,详细阐述其中涉及的关键知识点。 ### 字符集背景知识 ##...
在某些情况下,我们可以通过临时设置字符集来解决问题,但这只是治标不治本的方法: ```sql SET character_set_client = utf8; SET character_set_connection = utf8; SET character_set_database = utf8; SET ...
首先,我们遇到的问题是即使设置表的默认字符集为UTF8,并且在发送查询时使用UTF-8编码,仍然会出现乱码的情况。这是因为在数据库连接层面上,字符集设置可能没有正确地同步。为了解决这个问题,我们需要在发送查询...
例如,`utf8_general_ci`和`utf8_bin`都是`utf8`字符集下的校对集,其中`utf8_general_ci`区分大小写但不区分重音,而`utf8_bin`则区分大小写和重音。 - **校对集示例**:在创建表或列时,可以通过`COLLATE`关键字...
docker mysql 字符集设置 使用 docker 启动 mysql 容器可能会出现中文乱码的情况,这里记录如何制作支持中文的 mysql 镜像 docker版本:18.06 mysql 版本:5.7 1. 创建 my.cnf 文件 [client] default-character-set=...
在解决MySQL乱码问题前,首先需要了解MySQL中与字符集相关的配置项及其含义: 1. **`character_set_system`**:系统默认使用的字符集。 2. **`character_set_server`**:服务器默认使用的字符集。 3. **`character_...
本文将深入探讨如何设置MySQL的字符集,以及解决因字符集配置不当导致的乱码问题。 ### MySQL字符集的基本概念 字符集(Character Set)定义了数据在存储和处理时所采用的编码标准,而校对集(Collation)则规定了...
springboot在集成flowable时,添加flowable依赖,配置完成数据库连接,项目第一次启动会初始化数据库flowable相应的表,默认会加载的字符集为utf8(CHARSET=utf8 COLLATE utf8_bin),在mysql8后,在创建数据库时,...
### 彻底解决C# ASP.NET 连接MySQL乱码问题 在开发过程中,尤其是在处理中文数据时,经常遇到的一个问题是数据库连接时出现乱码。本文将详细介绍如何彻底解决使用C# ASP.NET 应用程序连接 MySQL 数据库时出现的乱码...
为了彻底解决这一问题,需要在MySQLInstanceConfig.exe中重新启动设置,将默认编码设置为utf8。 MySQLInstanceConfig.exe是MySQL安装目录下的一个配置工具,通过这个工具可以对数据库实例进行配置,包括默认字符集...
在这个文件中,我们可以设置 MySQL 的默认字符集为 UTF8。 首先,我们需要找到 `[client]` 部分,并添加 `default-character-set=utf8` 行,以设置客户端的默认字符集为 UTF8。 其次,我们需要找到 `[mysqld]` ...
Mysql字符集编码详解 Mysql数据库中的字符集编码问题是许多开发者经常遇到的一个问题,特别是在JAVA项目中。解决这个问题需要从多方面入手,包括...通过设置合适的字符集,可以彻底解决JAVA项目中的中文乱码问题。
### MySQL乱码问题解决方案 ...通过以上步骤,可以有效地解决由字符集不匹配导致的MySQL乱码问题。此外,建议统一使用UTF-8作为字符集,这样可以更好地支持国际化需求,减少因字符集差异带来的问题。
2. **数据库表的字符集设置**:如果MySQL数据库中的表字符集不是统一的UTF-8,那么在查询时就可能出现乱码现象。 3. **连接参数配置不当**:在使用MyDAC组件建立数据库连接时,如果没有正确设置字符集参数,也可能...