mysql 中文乱码
来源:互联网 发布:ubuntu aptitude 编辑:程序博客网 时间:2024/06/08 13:21
数据,当遇到提交中文信息的时候,问题总是比较多,我见过的出错的情况有两种:
Hibernate flushing: Could not execute JDBC batch update;uncategorized SQLException for SQL [insert into blog (comments,content, createdate, description, tid, title, uid, id) values (?,?, ?, ?, ?, ?, ?, ?)]; SQL state [HY000]; error code [1366];Incorrect string value: '\xA1\xAA\xA1\xAA\xB0\xFC...' for column'content' at row 1; nested exception isjava.sql.BatchUpdateException: Incorrect string value:'\xA1\xAA\xA1\xAA\xB0\xFC...' for column 'content' at row 1
====================
1、JSP页面文件的编码:
2、Struts、Spring配置文件(XML)的编码:
3、Hibernate映射文件的编码:
4、数据源配置中jdbcurl(数据库连接)指定的编码:
5、Mysql默认字符集:
# The default character set that will be used when a new schemaor table is
# created and no character set is defined
default-character-set=utf-8
6、数据库表字段的字符集:
级的字符集。
==============问题分析=============
的,因此排除项目中那些与页面文件相关的字符集设置。
查看Mysql默认字符集的相关设置:
+--------------------------+---------------------------------+
|Variable_name
+--------------------------+---------------------------------+
|character_set_client
| character_set_connection |latin1
|character_set_database
| character_set_filesystem |binary
| character_set_results
|character_set_server
| character_set_system
|character_sets_dir
+--------------------------+---------------------------------+
指定字符集,因此,创建时均使用Mysql默认的latin1字符集,而这个字符集显然根本不可能处理中文字符,
上面的报错信息就是因为它而产生的。
(1) 最简单的修改方法,就是修改Mysql的my.ini文件中的字符集键值,
如
+--------------------------+---------------------------------+
|Variable_name
+--------------------------+---------------------------------+
|character_set_client
| character_set_connection |utf8
| character_set_database
| character_set_filesystem |binary
| character_set_results
|character_set_server
|character_set_system