-
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业务数据库,其中所有表的字段都是中文的,我有没办法改,所以必须使用中文的,没到万不得已,我一般打死都不在数据库中用中文(作为一个中国人的悲哀!!)。
请哪位帮忙解决下,急用!!!!!!!!
先感谢!!!!2011年10月27日 09:22
4个答案 按时间排序 按投票排序
-
采纳的答案
连接串的问题,
在数据库连接串中加上编码设置:
String dbUrl = "jdbc:mysql://localhost:3306/BookDB?useUnicode=true&characterEncoding=GB2312 ";2011年10月27日 11:46
-
字段名用中文确实很奇怪。。。。。
数据库建表的时候字符集设为utf-8试试
create table test(
姓名 varchar(20)
)
default charset=utf8;
然后PreparedStatement pstmt = conn.prepareStatement("update test set `姓名`='1111'");
你这句里是不是标点用错了 “姓名”两边的单引号还是要在英文输入法的'',不是中文输入法下‘’2011年10月27日 10:19
-
简单的方法是在连接数据库成功后,在查询操作前先执行
mysql_query("set character set gb2312");
或
mysql_query("SET NAMES gb2312");2011年10月27日 10:17
相关推荐
如果连接数据库,读出的中文信息显示乱码,可以试试。
在DELPHI中使用MyDAC连接MySQL数据库时中文显示乱码的解决方法。
在使用mysql的过程中,有个问题就是mysql的优化,mysql中longblob字段在5.5版本中默认的为1M。 想改变这个问题,需要注意几点: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2054817 > ...
最简单、快速的解决办法。用了你就知道了
解决jsp+MysQL输入和输出中文乱码的方法! 解决jsp+MysQL输入和输出中文乱码的方法!
在使用mysql5.7时,会发现通过web端向数据库中写入中文后会出现乱码,但是在数据库中直接操作SQL语句插入数据后中文就显示正常,这个问题怎么解决呢?此处不对MySQL的数据编码过程和原理进行讲解,如果有兴趣的同学...
批量修改mysql数据库、表、字段编码(gbk到utf8php脚本) 可以把整个数据库、表、字段编码全部从gbk_chinese_ci 到 utf8_general_ci 转换,不会乱码哦 狂拽吊炸天!!!
最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节)
mysql 优化以及 中文乱码处理问题。不错的东东。
Ofbiz 与MYSQL配置的中文问题及 ecommerce相关设置 Lookup字段的乱码处理 Get方法中文乱码解决办法 日期的表示乱码处理
2. 使用MYSQL中创建表、或者选择字段时设置的类型不是utf8,而网页编码不是utf8,也可能造成MYSQL中文乱码. 3. PHP页面的字符集与数据库的编码不一致。 4. PHP连接MYSQL数据库,操作是设定的语句指定的编码和页面编码...
我自己测试一下,很多字符变成了 ‘?...我看一下数据库字符集,默认都是 gbk,这个对中文是没有问题的,一碰到越南文,就乱码了。 于是,我将可能用到越南文的字段的字符集修改为 utf8,校对修改为:utf8_unicod
--sqlDataCompare ...也许你有一张很大的表,但是有些字段你无法记得清楚,你不必去SQL Server左侧的服务器资源管理器查看这张打表的结构。 详情请见 http://blog.csdn.net/dxh_0829/article/details/7890245
datax数据从hive表导入mysql表,数据缺失解决
修改每一个要写中文的字段(char或varchar类型的字段) 2.修改完一定要保存 二.IDEA问题 1.点击File–>Settings–>找到File Encodings,如图所示修改为utf-8 2.在你与数据库链接的URL中加入 ?userUnicode=true&...
主要介绍了Navicat for MySQL 乱码问题解决方法,Navcat是Windows常用的Mysql管理软件,本文讲解它出现乱码的解决方法,需要的朋友可以参考下
2. 排除字段类型不一致导致的错误后,我猜测是中文乱码问题,然后插入纯英文数据发现没有报错,所以确定了是中文乱码问题。然后网上百度发现是mysql默认的编码问题导致的中文乱码。 三、解决方案 1. 检查本地mysql...
先私信后购买,解析binlog利器,回滚恢复误删除数据
5、mysql保存或者修改时,中文会出现乱码,这时必须 在DbHelperMySQL类的 连接字中增加Charset=utf8;即 protected static string connectionString = "Server=localhost;User Id=root;Password=root;Persist ...
13-MySQL数据中文不乱码终极大总结.avi 14-更改生产线上MySQL数据字符集的方案讲解.avi 第五部 MySQL备份、增量备份及数据恢复基础实战(12节) 01-备份数据的意义及重要性.avi 02-mysqldump多个命令参数备份实战....