在用 jdbc 向 mysql 数据库插入中文时出现了乱码,严格来说是通过 Hibernate。记录下搜索和查文档以后找到的解决办法。
如果你使用的是 gbk 编码的话把上面所有提到 utf8 的地方改成 gbk 应该就可以了,只要服务器和客户端使用的字符集编码统一就可以了。
mysql 命令行客户端默认使用的字符集也是 latin1,如果你通过这个来插入中文的话也会出现乱码的情况。解决的办法是执行语句 set names 'utf8'
来告诉服务器使用 UTF-8 编码来和客户端通信。你也可以使用set charset 'utf8'
,它和 set names 区别只在于
collation 上。set names 和 set charset 都相当于执行了三条语句,具体的内容可以去看 mysql 文档 10.4 节。我想这个方法在使用 jdbc 的时候也是可以的,所以如果 jdbc 的指定数据库地址中没有告知使用的字符集编码的话可以通过执行上面的语句来达到相同的效果。
先说一下我的环境,windows XP,mysql5.0安装版,rails1.2.3。
试过的解决方法有3种:
1。重新利用 MySQL Server instance Config Wizard向导,重新Reconfigure Instance。改编码为utf8
2。修改MySQL文件夹下的my.ini文件。如下:
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
3。SET character_set_client =utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
可输入mysql>SHOW VARIABLES LIKE '%character%' ;命令查看效果。
以上方式前2种其实是一个原理,看你习惯怎么改罢了,而设置的值正是上图中的character_set_database和character_set_server.
这些都是网上一搜一大片的处理方式,在这里也做一个总结。但我通过以上方式去做了以后,非但乱码问题没有解决,而且数据库表中再无法插入中文。
在用 jdbc 向 mysql 数据库插入中文时出现了乱码,严格来说是通过 Hibernate。记录下搜索和查文档以后找到的解决办法。
如果你使用的是 gbk 编码的话把上面所有提到 utf8 的地方改成 gbk 应该就可以了,只要服务器和客户端使用的字符集编码统一就可以了。
mysql 命令行客户端默认使用的字符集也是 latin1,如果你通过这个来插入中文的话也会出现乱码的情况。解决的办法是执行语句 set names 'utf8'
来告诉服务器使用 UTF-8 编码来和客户端通信。你也可以使用set charset 'utf8'
,它和 set names 区别只在于
collation 上。set names 和 set charset 都相当于执行了三条语句,具体的内容可以去看 mysql 文档 10.4 节。我想这个方法在使用 jdbc 的时候也是可以的,所以如果 jdbc 的指定数据库地址中没有告知使用的字符集编码的话可以通过执行上面的语句来达到相同的效果。
先说一下我的环境,windows XP,mysql5.0安装版,rails1.2.3。
试过的解决方法有3种:
1。重新利用 MySQL Server instance Config Wizard向导,重新Reconfigure Instance。改编码为utf8
2。修改MySQL文件夹下的my.ini文件。如下:
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
3。SET character_set_client =utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
可输入mysql>SHOW VARIABLES LIKE '%character%' ;命令查看效果。
以上方式前2种其实是一个原理,看你习惯怎么改罢了,而设置的值正是上图中的character_set_database和character_set_server.
这些都是网上一搜一大片的处理方式,在这里也做一个总结。但我通过以上方式去做了以后,非但乱码问题没有解决,而且数据库表中再无法插入中文。
分享到:
相关推荐
以下是对如何解决连接MySQL时中文显示乱码问题的详细解析。 ### 解决中文显示乱码的关键知识点 #### 1. **理解字符集和编码** 字符集(Character Set)是指用于表示文字的一系列符号集合,而编码(Encoding)则是将...
本文将详细介绍如何通过调整 MySQL 的配置以及正确设置 JDBC 连接字符串来彻底解决中文乱码问题。 #### 二、MySQL 字符集配置 ##### 2.1 修改 MySQL 配置文件 **步骤 1:** 打开 MySQL 配置文件 `my.ini` (通常...
jdbc连接mysql出现了乱码,总结起来就是里面的四个编码方式是一样的时候,就不会乱码了,简之,客户连接数据库返回结果(编码必须一致)。
JDBC连接mysql处理中文时乱码解决办法详解 近日,整合的项目需要跟一个比较老版本的mysql服务器连接,使用navicat查看,发现此mysql服务器貌似没有设置默认编码,而且从操作此mysql的部分php文件看,应该是使用的gb...
使用 docker 启动 mysql 容器可能会出现中文乱码的情况,这里记录如何制作支持中文的 mysql 镜像 docker版本:18.06 mysql 版本:5.7 1. 创建 my.cnf 文件 [client] default-character-set=utf8 [mysql] default-...
主要说明JDBC存入数据的编码问题(中文)基本包括所有的问题,亲自体验过,很好
JDBC连接mysql乱码异常问题处理总结 本文主要介绍了JDBC连接mysql乱码异常问题处理的办法和思路。当我们使用JDBC连接mysql数据库时,可能会遇到乱码的问题。这是因为mysql数据库的字符集转换过程中存在的问题。下面...
在使用 MySQL 数据库处理中文数据时,经常会遇到一个让人头疼的问题——中文乱码。中文乱码不仅影响用户体验,还可能导致数据丢失或者错误,因此解决这个问题至关重要。 **出现乱码的原因** 多数情况下是由于 MySQL...
MySQL与JDBC在处理中文字符时可能会遇到一些问题,主要是由于编码设置不一致...通过调整JDBC连接URL参数或者修改MySQL服务器配置,可以有效地避免中文乱码问题。同时,选择兼容性好且更新的驱动版本也是至关重要的。
在使用Java应用程序与MySQL数据库交互的过程中,常常会遇到一个令人头疼的问题:中文字符在存储到数据库时出现乱码现象。这种现象通常发生在使用JDBC(Java Database Connectivity)连接数据库,并进行数据插入操作...
在MySQL数据库中运行包含中文字符的SQL语句时,经常会遇到中文显示为乱码的问题。这一现象不仅降低了开发效率,还可能导致数据错误。本文将详细介绍如何彻底解决MySQL运行SQL语句中文乱码的问题。 #### 一、理解...
解决MYSQL数据库中文乱码问题 在实际的开发和应用中,MYSQL数据库中文乱码问题是一个常见的问题,这个问题的出现往往是由于数据库字符集的不正确设置所引起的。解决MYSQL数据库中文乱码问题需要从多方面入手,包括...
### MySQL中文乱码问题解决方案 在使用MySQL的过程中,中文乱码问题是常见的问题之一,尤其是在数据库初始设置不当时,更容易出现此类问题。本文将详细介绍如何彻底解决MySQL中的中文乱码问题。 #### 一、理解中文...
在使用MySQL数据库处理中文数据时,遇到乱码问题是较为常见的技术挑战。本文将详细解析导致MySQL中文乱码的原因,并提供一系列有效的解决方案,涵盖从系统配置、数据库创建到数据导入等各个环节。 #### 一、问题...
在Java编程中,连接MySQL数据库时可能会遇到中文乱码的问题,这主要涉及到字符集的配置。MySQL数据库默认的字符集是latin1,不支持中文字符,因此需要进行相应的设置以确保中文能正确显示和存储。以下是一些关键知识...
在开发Web应用时,尤其是使用Java技术栈如JSP、Servlet与MySQL数据库交互时,中文乱码问题常常困扰着开发者。这个问题的出现主要是由于字符编码不一致导致的,包括数据库编码、连接编码、页面编码等多个环节。下面...
本文将深入探讨“hibernate+mysql乱码问题”的原因、解决方案以及如何预防这类问题。 首先,我们需要了解乱码问题的根源。在数据库层面,MySQL的编码格式对数据存储和检索至关重要。如果数据库、表或列的字符集不...