环境:
win2k, tomcat5.0.28, mysql4.17, jdk1.5, eclipse3.0
问题:
1) 项目构架是使用 hibernate+spring+struts 的方式.
2) 安装MYSQL的时候,使用默认字符集: latin1, 用户,数据库,表格,字段都是在该字符集下建立
3) 在运行JSP页面时, TOMCAT报告错误: hibernate Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
解决方法:
1) 首先修改MYSQL的字符:
D:/MySQL/my.ini文件,在其中:[mysqld]下, 设定以下文字:
default-character-set=utf8, 重新启动MYSQL
2) 修改整体数据库的字符集
mysql> alter database dbname default character set utf8 collate utf8_general_ci;
3) 修改表格的字符集
msyql> alter table tbname default character set utf8 collate utf8_general_ci;
4) 修改表格中字段的字符集
mysql> alter table modify columnname varchar(30) character set utf8 collate utf8_general_ci;
5) 查看建立数据库的SQL:
mysql> show create database dbname;
6) 查看建立表格的SQL:
mysql> show create table tbname;
7) 设置CONNECTION, RESULTS 的字符:
mysql> set names 'gb2312';
8) jsp 页面的修改:
<%@ page contentType="text/html;charset=gbk" %>
1-6点基本上解决了TOMCAT服务器上的错误(见问题3),7-8点解决了页面上的乱码问题.
字符集设置
最新推荐文章于 2024-01-03 19:07:45 发布