数据库乱码解决方案

在实现数据库操作时,对于汉子信息,有时不能正确处理,其原因是由于汉字编码的不同所造成的。为了正确处理汉字信息,必须使用汉字编码使用同一的编码格式。汉字编码目前主要使用UTF-8和GB2313。

在设计web应用程序时,涉及汉字信息编码的组件有:

(1)数据库和数据表建立时,所建立的数据库和数据表及其各字段的编码格式。

(2)对数据库中记录的读写访问采用的编码格式。

(3)在JSP页面之间传递参数(request对象)时,返回到客户端的信息编码格式。

(4)在JSP页面(HTML页面)中的汉字编码格式。

(5)由服务器响应(response),返回到客户端的信息编码格式

在所涉及应用程序时,需要将这几部分的编码格式统一为一种汉字的编码格式,就可以解决汉字乱码问题。为此,可以采用以下的解决方案:

第一,建立数据库,数据表是指定数据编码.

1)建立数据库的时候要用到UTF-8编码:

CREATE DATABASE 数据库名字 default charset=utf-8

2)建立数据表时也用到utf-8编码:

CREATE TABLE 数据表名字(各字段及其类型定义)default charset=utf-8;

第二,在连接数据库时,指定数据库读写的编码,

例如,连接MySQL数据库时,声明采用UTF-8编码:

Class forName("com.mysql.jdbc.Driver");

String url="jdbc:mysql://localhost/demo?user=用户名&password=密码&useUnicode=ture&characterEncoding=UTF-8";

第三,在含有JSp提交表单的页面,设置method=“post”,并在接受所提交信息的页面或Serlvet程序中,通过request请求对象的request.setCharacterEncoding(“UTF-8”)方法设置编码格式。

posted @ 2017-10-14 23:05  随心佩  阅读(1094)  评论(0编辑  收藏  举报