0 0

jdbc 对mysql插入中文乱码5

public class Test {

public static void main(String[] args) {
Connection conn = null;
Statement stat = null;
ResultSet rs = null;
try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String connStr = "jdbc:mysql://localhost:3306?useUnicode=true&characterEncoding=UTF-8";
String dbUser = "root";
String dbPassword = "123456";
conn = DriverManager.getConnection(connStr, dbUser, dbPassword);
if (conn != null) {
System.out.println("连接成功");
stat = conn.createStatement();
stat.execute("drop database test_db");
stat.execute("create database test_db CHARACTER SET UTF8");
stat.execute("use test_db");
stat.execute("create table if not exists test_info(  role_id int primary key auto_increment, role_name varchar(50) not null)default charset=UTF8");
stat.execute("insert into test_info(role_name) values ('测试')");
rs = stat.executeQuery("select * from test_info");
while (rs.next()) {
System.out.println(rs.getInt("role_id")+" : "+rs.getString("role_name"));
}
} else {
System.out.println("连接失败");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
rs.close();
stat.close();
conn.close();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}

兄弟们帮忙看看,为什么上面段代码查询出来的是乱码呢?搞不太懂~我数据库、连接字符串、表等等都是UTF-8的
2012年9月09日 22:27

3个答案 按时间排序 按投票排序

0 0

jdbc:mysql://localhost:3306?useUnicode=true&characterEncoding=UTF-8连接字符串中的&是用来在XML文件中进行转义;的,在Java代码里面不需要进行转义,直接使用;就可以

2012年9月10日 09:13
0 0

在 my.ini 中[mysqld]后边添加
default-character-set=utf8
重启数据库

2012年9月10日 07:25
0 0

1.创建数据库时将数据库的缺省字符集指定为gbk。建议用工具(如phpmyadmin等)
2.修改Client默认字符集为gbk。windows下在mysql安装目录下找到my.ini,将里面的default-character- set=utf8改为default-character-set=gbk,然后重起mysql服务即可将数据库默认字符集改为gbk.此时应该在 mysql命令行用\s命令检查一下看是否改好了。
3.修改jdbc的链接,将原来的改为
jdbc:mysql://localhost:3306?useUnicode=true&characterEncoding=GBK

2012年9月09日 22:55

相关推荐

    Mysql插入中文乱码问题解决

    ### MySQL 插入中文乱码问题详解与解决方案 #### 一、问题背景及原因分析 在使用 MySQL 数据库处理中文数据时,经常会遇到一个让人头疼的问题——中文乱码。中文乱码不仅影响用户体验,还可能导致数据丢失或者错误...

    java插入mysql中文乱码解决

    ### Java插入MySQL中文乱码解决 #### 一、问题背景 在使用Java应用程序与MySQL数据库交互的过程中,常常会遇到一个令人头疼的问题:中文字符在存储到数据库时出现乱码现象。这种现象通常发生在使用JDBC(Java ...

    解决 docker mysql 中文乱码问题

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

    mysql插入记录防止乱码

    在使用MySQL数据库的过程中,特别是在处理中文等非ASCII字符时,可能会遇到数据插入后显示为乱码的情况。这种情况不仅影响数据的正确读取,还可能导致用户界面呈现异常。本文将详细介绍如何在MySQL中插入记录时避免...

    JDBC和mysql

    - 如果遇到中文乱码问题,可以通过以下方式解决: - 方式一(不建议): 修改 MySQL 的配置文件 `my.ini`。 - 方式二: 执行 `SET NAMES 'gbk';` 或者 `SET NAMES 'utf8';`。 - **更新记录**: 使用 `UPDATE` 命令来...

    JDBC连接mysql处理中文时乱码解决办法详解

    在Java开发中,使用JDBC连接MySQL数据库时,有时会遇到中文乱码的问题。这个问题通常是由于数据库、数据表、连接字符串以及程序之间的字符编码不一致导致的。以下是一些详细的解决办法: 首先,理解MySQL的编码层次...

    如何解决MYSQL数据库中文乱码问题-.docx

    解决MYSQL数据库中文乱码问题需要从多方面入手,包括数据库创建、表创建、数据插入、数据查询等多个方面。 首先,在创建数据库时,需要指定正确的字符集类型。MYSQL数据库支持多种字符集,包括gbk、utf8、latin1等...

    JSP MySQL插入数据时出现中文乱码问题的解决方法.docx

    JSP MySQL 插入数据时出现中文乱码问题的解决方法 在 JSP 应用程序中,使用 MySQL 数据库时,插入中文数据可能会出现乱码问题。这种问题的产生是因为客户端和服务器端的字符集编码不一致所导致的。解决这个问题需要...

    hibernate+mysql乱码问题

    在数据库层面,MySQL的编码格式对数据存储和检索至关重要。如果数据库、表或列的字符集不匹配,或者与应用程序的编码设置不一致,就可能导致乱码。例如,`set names gbk` 是MySQL中设置客户端、连接和结果集编码为...

    MySql5中文乱码的解决方法

    在使用MySQL数据库的过程中,很多用户会遇到中文乱码的问题,即在插入中文字符时,系统将其显示为“?”等不可识别的符号。这一现象主要是由于字符集设置不当导致的。在MySQL中,若采用默认配置,则会在创建数据库或...

    java插入数据乱码解决集锦

    ### Java插入数据乱码解决集锦 #### 一、Java中文问题的由来及核心问题解析 Java作为一种广泛使用的编程语言,在处理中文等多语言文本时可能会遇到字符编码不匹配导致的乱码问题。这些问题主要源于Java程序在不同...

    JDBC连接mysql乱码异常问题处理总结

    JDBC连接mysql乱码异常问题处理总结 本文主要介绍了JDBC连接mysql乱码异常问题处理的办法和思路。当我们使用JDBC连接mysql数据库时,可能会遇到乱码的问题。这是因为mysql数据库的字符集转换过程中存在的问题。下面...

    Mysql的longblob字段插入数据问题解决

    想改变这个问题,需要注意几点: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2054817 > 1048576). You can change this value on the server by setting the max_allowed_packet’ ...

    java向mysql插入数据乱码问题的解决方法

    总结而言,要解决Java向MySQL插入数据乱码的问题,要做的工作包括检查并修改MySQL的字符集配置,确保Java连接MySQL时使用了正确的编码参数,并在Java程序中对字符编码进行正确处理。通过这些步骤,可以有效避免中文...

    Java连接过程中的MySQL中文乱码问题[整理].pdf

    在Java编程中,连接MySQL数据库时可能会遇到中文乱码的问题,这主要涉及到字符集的配置。MySQL数据库默认的字符集是latin1,不支持中文字符,因此需要进行相应的设置以确保中文能正确显示和存储。以下是一些关键知识...

    JDBC链接mysql插入数据后显示问号的原因及解决办法

    在使用JDBC连接MySQL进行数据插入时,遇到插入的数据在查询后显示问号的问题,通常是由于字符编码不一致导致的。以下将详细解释这个问题的原因以及相应的解决方法。 1. **原因分析**: - **MySQL服务器编码问题**...

    乱码解决_MYSQL.txt

    ### MySQL乱码问题解决方案 #### 一、理解MySQL字符集设置的重要性 在处理数据库操作时,字符集(Character Set)的正确配置对于确保数据的准确读取与存储至关重要。特别是对于包含多语言文本的应用场景,如中文、...

    解决Linux下Tomcat向MySQL插入数据中文乱码问题

    通过以上步骤,应该能有效解决在Linux环境下,Tomcat向MySQL插入中文数据时的乱码问题。如果仍有问题,可能需要检查代码中其他涉及字符编码的地方,比如JSP页面的`<meta>`标签、文件读写操作等。记住,确保整个系统...

    如何解决MYSQL数据中文乱码问题.docx

    MySQL 数据库在处理中文字符时可能会遇到乱码问题,这通常是由于字符编码不匹配导致的。在升级 MySQL 从 4.0 到 5.0 版本时,这个问题可能会更加突出,因为不同版本之间可能存在字符集支持的差异。解决这类问题需要...

    Java连MySQL乱码.pdf

    在Java编程中,连接MySQL数据库并处理中文乱码是一个常见的挑战,尤其是在开发涉及多语言内容的应用时。本文将深入探讨如何解决这个问题。 首先,我们来看Java与MySQL的连接过程。在Java中,我们通常使用JDBC(Java...

Global site tag (gtag.js) - Google Analytics