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>
这样应该就完全可以了.......一般会出现的情况就以上三种吧.....