我用的是hobernate3.0 + mysql 4.1
保存DB用的是
getHibernateTemplate().save(news);来保存的,(其它文字没问题,就中文有问题)
news 是个基类,
save 前, System.out.print(news.getTitle()) 可输出页面上传过来的中文,
可save后,
可进入 mysql 查看就是? ,再到数据显示页面中看也是 ?java 文件用的都是utf-8,jsp文件用的是gbk,mysql CHARSET=gbk,mysql根目录中的my.ini 也是gbk.大家帮我看看,这中文的问题怎么处理,谢谢!
保存DB用的是
getHibernateTemplate().save(news);来保存的,(其它文字没问题,就中文有问题)
news 是个基类,
save 前, System.out.print(news.getTitle()) 可输出页面上传过来的中文,
可save后,
可进入 mysql 查看就是? ,再到数据显示页面中看也是 ?java 文件用的都是utf-8,jsp文件用的是gbk,mysql CHARSET=gbk,mysql根目录中的my.ini 也是gbk.大家帮我看看,这中文的问题怎么处理,谢谢!
解决方案 »
- 帮忙看看这ibatis配置一对多哪里错了
- 严重: Exception starting filter struts2
- 请问如何来判断?
- html 标签 <select> 能设置默认值么 能的话 是哪个属性,
- 关于用ODBC建立数据源和JDBC-ODBC桥的区别
- 如何存取“没有用等号连接的键值对”的配置文件
- 小弟就40分了,若哪位大哥能帮小弟解决,分全给。(一个连接池的问题)
- 在JSP页面内如何做站内短信?就象CSDN一样,右上角有一个信封图标闪动,表示有新短信
- [que]简单页面问题,新手求教
- 为什么jsp生成excel会有乱码?
- JFreeChart折线图节点数据问题。
- 超链接访问的文件不存在时,怎么设置出现“文件不存在的提示”
mysql>select * from yourtable;
查看如果是乱码的话,就是你插入数据的时候,当前页面的编码方式和你mysql的编码方式不一致。
2、如果排除了以上乱码的可能,也就是说数据库中能正常保存中文,就需要检查你页面显示的编码方式了。大致思路是这样的,你多多试验体会
在mysql语句中执行 insert 中文,mysql会显示中文,
所以应该是hibernate save 时,没插中文,识别中文出错,
应该怎么办呢,
[client]port=3306[mysql]default-character-set=gbk
# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this
# file.
#
[mysqld]# The TCP/IP Port the MySQL Server will listen on
port=3306
#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.0/"#Path to the database root
datadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/"# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=gbk# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB
再帮我找找问题
再不然重装mysql.不过注意一定要选字符集。你要是安装没记得选过GBK就是没选
mysql -uroot -p123456 --default-character-set utf82.创建数据库
create database xxx default character set utf8;
执行sal脚本
source /home/tarena/phone.sql3.修改mysql 数据库连接url
jdbc:mysql://localhost:3306/phone?useUnicode=true&characterEncoding=utf84.提交时使用post提交
<form action="xxx.do" method="post">5.使用过滤器filter
reqeust.setCharacterEncoding("utf8");6.jsp页面设置字符集
<%@page contentType="text/html;charset=utf8" %>
windows下的mysql配置文件是my.ini,一般在安装目录下(如C:\Program Files\MySQL\MySQL Server 5.0),可以直接在这个文件里面加上 default-character-set=gbk #或gb2312,big5,utf8
然后重新启动mysql 查看 MySQL 数据库服务器字符集,数据库字符集和客户端字符集 show variables like '%char%'; character_set_client,客户端字符集 character_set_database,数据库字符集 character_set_server,服务器字符集 2. 查看 MySQL 数据表(table) 的字符集 show table status from tablename like '%countries%'; 3. 查看 MySQL 数据列(column)的字符集。 show full columns from tablename; 4. 查看当前安装的 MySQL 所支持的字符集。 show char set;
2,页面(如JSP)的编码
3,MySQL的表都有编码的配置
===============================
以上全部统一