0 0

mysql 中文字段乱码5

1、我在mysql数据库中建了一张中文字段的表
create table test(
    姓名 varchar(20)
)

2、然后用jdbc中的PreparedStatement对象执行插入或修改操作报错,好像sql中的中文列名变成了乱码,不能成功执行。
部分sql语句如下:
    PreparedStatement pstmt = conn.prepareStatement("insert into test(姓名) values('00001')");
或者
     PreparedStatement pstmt = conn.prepareStatement("update test set `姓名`='1111'");
然后执行:
    pstmt.executeUpdate();
报如下错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '??) values('00001')' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
        ……………………

最近操作别人公司的mysql业务数据库,其中所有表的字段都是中文的,我有没办法改,所以必须使用中文的,没到万不得已,我一般打死都不在数据库中用中文(作为一个中国人的悲哀!!)。

请哪位帮忙解决下,急用!!!!!!!!
先感谢!!!!
DAO 
2011年10月27日 09:22

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

0 0

采纳的答案

连接串的问题,
在数据库连接串中加上编码设置:

String dbUrl = "jdbc:mysql://localhost:3306/BookDB?useUnicode=true&characterEncoding=GB2312 ";

2011年10月27日 11:46
0 0

你先在数据库中写一个成功的sql语句嘛,然后把sql语句粘贴到程序中不是就行了嘛 。

2011年10月27日 13:50
0 0

字段名用中文确实很奇怪。。。。。
数据库建表的时候字符集设为utf-8试试

create table test(
    姓名 varchar(20)
)
default charset=utf8;

然后

PreparedStatement pstmt = conn.prepareStatement("update test set `姓名`='1111'"); 


你这句里是不是标点用错了 “姓名”两边的单引号还是要在英文输入法的'',不是中文输入法下‘’

2011年10月27日 10:19
0 0

简单的方法是在连接数据库成功后,在查询操作前先执行
mysql_query("set character set gb2312");

mysql_query("SET NAMES gb2312");

2011年10月27日 10:17

相关推荐

    解决连接mysql中文显示乱码

    以下是对如何解决连接MySQL时中文显示乱码问题的详细解析。 ### 解决中文显示乱码的关键知识点 #### 1. **理解字符集和编码** 字符集(Character Set)是指用于表示文字的一系列符号集合,而编码(Encoding)则是将...

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

    ### 在DELPHI中使用MyDAC连接MySQL数据库时中文显示乱码的解决方法 #### 背景介绍 在软件开发过程中,特别是涉及到多语言环境的应用程序开发时,字符编码问题常常成为开发者需要解决的一个重要问题。对于使用...

    MYSQL中文显示乱码问题

    MySQL 中文显示乱码问题是一个常见的困扰,尤其是在处理多语言数据时。乱码问题通常涉及到字符编码设置不一致,导致数据在存储或显示时出现问题。本文将深入探讨如何解决这个问题。 首先,我们要理解MySQL中涉及的...

    mysql汉字乱码问题

    MySQL中的汉字乱码问题是一个常见的困扰许多开发人员和数据库管理员的问题。这主要涉及到字符编码设置不正确,导致在存储或显示汉字时出现乱码。在MySQL中,字符集是用来定义如何存储和处理字符的规则,它包括服务器...

    pb导入mysql5.0中中文乱码

    pb 导入 mysql5.0 中中文乱码问题解决方案 在使用 Pb 将数据导入到 MySQL 5.0 时,中文乱码问题是一个常见的问题。在本文中,我们将讨论两个解决方案,帮助开发者快速解决中文乱码问题。 解决方案一:使用 set ...

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

    在使用mysql的过程中,有个问题就是mysql的优化,mysql中longblob字段在5.5版本中默认的为1M。 想改变这个问题,需要注意几点: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2054817 > ...

    Mysql插入中文乱码问题解决

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

    解决mysql中文乱码

    最简单、快速的解决办法。用了你就知道了

    PHP+MySql中文乱码解决办法

    ### PHP+MySQL中文乱码解决办法详解 #### 一、乱码产生的原因 在使用PHP+MySQL进行开发的过程中,中文乱码问题是常见的一个问题。乱码现象通常发生在从数据库查询中文数据时,显示出来的中文变成了不可识别的符号...

    java中MySQL中文乱码问题解决方案

    Java 中 MySQL 中文乱码问题解决方案 Java 中 MySQL 中文乱码问题是数据库开发中常见的问题之一,解决这个问题需要对数据库、JSP 和 Tomcat 进行相应的设置。下面我们将详细介绍解决该问题的方案。 数据库编码修改...

    PHP+MySql中文乱码解决方案

    ### PHP+MySQL中文乱码解决方案 #### 一、概述 在使用PHP与MySQL进行Web开发的过程中,中文乱码问题是常见的一个问题。通常情况下,这主要是由于系统各部分(如PHP脚本、MySQL数据库、操作系统等)之间的字符编码...

    mysql出现中文乱码解决

    MySQL数据库在处理中文字符时,有时会出现中文乱码的问题,这通常是由于字符编码设置不一致导致的。在本文中,我们将深入探讨这个问题,并提供一种解决方案——通过修改配置文件来解决MySQL中文乱码。 首先,我们...

    MySQL中文乱码问题解决方案

    ### MySQL中文乱码问题解决方案 在使用MySQL的过程中,中文乱码问题是常见的问题之一,尤其是在数据库初始设置不当时,更容易出现此类问题。本文将详细介绍如何彻底解决MySQL中的中文乱码问题。 #### 一、理解中文...

    Mysql中文乱码问题解决方案

    MySQL数据库在处理中文字符时,有时会出现乱码问题,这主要与字符集设置不正确有关。本文将深入探讨MySQL中文乱码问题的原因、解决方法,以及如何在创建数据库和表时避免这类问题。 首先,我们要了解字符集的概念。...

    Mysql 中文乱码 最简单的解决办法

    总结,解决MySQL中文乱码问题的关键在于确保服务器、数据库、表及字段的字符集设置一致,并与数据源保持匹配。在开发和维护过程中,关注字符集的统一性,可以避免很多不必要的编码问题。通过上述步骤,你应该能够...

    MySQL乱码解决方案数据库乱码

    解决MySQL乱码问题的关键在于确保各个层级(服务器端、客户端、数据库、表、字段)的字符集设置一致,并且正确。通过上述方法,我们可以有效地避免和解决MySQL中的乱码问题,从而保证数据的一致性和准确性。

    Mysql中文乱码问题完美解决方案

    ### MySQL中文乱码问题完美解决方案 #### 背景与问题描述 在处理MySQL数据库时,中文乱码问题是一个常见的技术挑战。这类问题通常源于字符集设置不一致或配置不当,尤其是在不同系统环境(如开发环境与生产环境)...

    解决MYSQL中文乱码

    在 MySQL 中,如果数据库、表或字段的字符集配置不正确,存储和检索中文数据时也可能出现乱码。解决这个问题的方法是在数据库连接字符串中指定正确的字符集,例如: ```java String url = "jdbc:mysql://server/...

    linux mysql中文乱码问题解决

    ### Linux MySQL中文乱码问题解决 #### 背景与问题描述 在使用Linux系统部署MySQL数据库时,可能会遇到中文字符显示为乱码的问题。这一现象通常发生在对含有中文字符的数据进行读取或写入操作时。中文乱码不仅影响...

Global site tag (gtag.js) - Google Analytics