加入收藏  广告服务  关于我们
 2008-3-27

mysql+jsp处理中文问题

发表:Amiliar   阅读:次  关键字:mysql 中文 jsp   字体:[ ]

1:如果你在建数据库时就不能输入中文的话,你就要看一下你的mysql的编码方式是不是

uft-8或 gbk或 gb2312等

比如:
测试下命令行输入中文:
insert into books (id,name) values('1','张三') ;
select * from books ; 应该可以正常显示中文
 查看下该表的字符编码方式:
show create table books ; 请确定是charset=utf8 或 gbk或 gb2312

2:如果在nysql里连中文都不能输的话,那你就找到安装的目录下,找到my.ini
将:
[client]

port=3306

[mysql]

default-character-set=gbk还在后面加一个

[mysql]

default-character-set=gbk重启mysql就可以了


3:如果是jsp页面在读出数据库里的中文显示的是乱码就要看以下几个地方

<%@  page contentType="text/html; charset=utf-8" %>或
<%@  page contentType="text/html; charset=gb2312" %>等

也可以在连接时就进行转换言 conn = java.sql.DriverManager.getConnection

("jdbc:mysql://localhost/MyJsp?useUnicode=true&characterEncoding=UTF-

8"","root","password");

另外看读出的记录集处:如果这样
sqlRst.getString("id").getBytes("gb2312")
sqlRst.getString("address").getBytes("gb2312")
sqlRst.getString("phone").getBytes("gb2312")
还是乱码的话

最好在前面加个new String
<td align="center"><%=new String(sqlRst.getString("id").getBytes("gb2312"))%

></td>
<td align="center"><%=new String(sqlRst.getString("address").getBytes

("gb2312"))%></td>
<td align="center"><%=new String(sqlRst.getString("phone").getBytes

("gb2312"))%></td>
这样应该就完全可以了.......一般会出现的情况就以上三种吧.....

 热门文章
 推荐信息