hibernate和mysql4.1字符集的问题? 如果用"from XXX" ,没有问题如果用“form XXX where id='1234'" 也没有问题如果用“form XXX where id=?" query.setObject(0,"1234") 就会抛出exception?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 存取MySQL 4.1乱码问题查看系统的字符集和排序方式的设定可以通过下面的两条命令:mysql> SHOW VARIABLES LIKE 'character_set_%';+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| character_set_client | latin1 || character_set_connection | latin1 || character_set_database | latin1 || character_set_results | latin1 || character_set_server | latin1 || character_set_system | utf8 || character_sets_dir | /usr/share/mysql/charsets/ |+--------------------------+----------------------------+7 rows in set (0.00 sec)mysql> SHOW VARIABLES LIKE 'collation_%';+----------------------+-------------------+| Variable_name | Value |+----------------------+-------------------+| collation_connection | latin1_swedish_ci || collation_database | latin1_swedish_ci || collation_server | latin1_swedish_ci |+----------------------+-------------------+3 rows in set (0.00 sec)上面列出的值就是系统的默认值。默认是latin1的瑞典语排序方式当我们按照原来的方式通过jsp存取MySQL数据库时,就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:SET NAMES 'gbk';它相当于下面的三句指令:SET character_set_client = gbk;SET character_set_results = gbk;SET character_set_connection = gbk;数库连接JDBC使用jdbc:mysql://localhost:3306/jbbs或者jdbc:mysql://localhost:3306/jbbs?useUnicode=true&characterEncoding=GBK 就是连接的url的问题,照楼上说的设置就成。 如何读取没有CDATA的数据 json数据传回前台报错。 java 线程执行顺序 osworkflow如何调用自己定义的类 rmi应用于spring的问题 struts+spring_hibernate开发,JMeter负载测试,测试线程超过2个就死。 MM只有80分了,我以前没有学过spring,请问学习spring用什么书籍好?谢谢csdn的好人!!! 怎么用ibm agejava打包编好的程序? 请问用JSP发EMAIL的问题? Java调用C#的webService接口的问题 电子商务金融控件 在JBuilderX+jboss4.0.2不能编译JSP??
查看系统的字符集和排序方式的设定可以通过下面的两条命令:
mysql> SHOW VARIABLES LIKE 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)mysql> SHOW VARIABLES LIKE 'collation_%';
+----------------------+-------------------+
| Variable_name | Value |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+----------------------+-------------------+
3 rows in set (0.00 sec)
上面列出的值就是系统的默认值。默认是latin1的瑞典语排序方式当我们按照原来的方式通过jsp存取MySQL数据库时,就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,
你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:SET NAMES 'gbk';它相当于下面的三句指令:
SET character_set_client = gbk;
SET character_set_results = gbk;
SET character_set_connection = gbk;
数库连接JDBC使用
jdbc:mysql://localhost:3306/jbbs
或者
jdbc:mysql://localhost:3306/jbbs?useUnicode=true&characterEncoding=GBK