编码的介绍和中文乱码有关问题的解决办法

编码的介绍和中文乱码问题的解决方法

    在创建Web工程时,连接数据库,将数据库中的数据显示在网页上,常常出现输入中文乱码的问题。在计算机中,所有的数据都是以二进制存储。所谓字符的编码,是不同字符对应二进制数的规则。
常用的字符集:
    ASCII ,ISO8859-1,GB2312,GBK,Unicode,UTF-8.
其中GB2312是*国家标准汉字信息交换编码,GBK不是国家标准,但完全兼容GB2312,还对繁体中文,一些不常用的汉字和符号都进行了编码。
在Web程序中,通常包括了浏览器,Web服务器,Web应用程序和数据库等部分,每一部分都可能使用不同的字符集,从而导致字符数据在各种不同的字符集之间转换时出现乱码。

    
解决乱码的方法,使用Eclipse的用户,以GBK作为统一编码,有五个地方需要修改。
           1.创建一个web动态工程时,Window菜单下有Perference-->General-->workspace-->text file encoding ,将其改为GBK。
           2.创建一个Servlet时,在取得了Request对象和Response对象后,要调用.setcharacterEncoding("GBK") 方法。
           3.向浏览器输出中文时,Response对象调用
      setContentType("text/html;charset=GBK");这其实是将网页和Web动态工程的编码统一起来。
            4.在新建了一个Servers后,会有server.xml文件,可以找到<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 在里面添加 URIEncoding="UTF-8"
          5.连接数据库时,从数据库中取出的数可能是乱码,这时只需在要连接数据库时指定的url 后添加"?useUnicode=true&characterEncoding=GBK"语句即可。
6.有时候还发现在数据库的命令行中不能输出中文。只需set names GBK 语句,此后,就命令行能输出中文了。