JavaEE中几种字符乱码和解决方法(对于这一年中出现的乱码问题总结)


一、页面乱码

        页面乱码多数情况是页面的字符编码不正确所导致的,通常的解决办法是设置页面的字符编码:

<meta charset="utf-8">    <--! HTML5页面字符设置方法 -->

JSP页面也需要我们指定字符编码:

<%@ page language="java" contentType="text/html; charset=UTF-8"	pageEncoding="UTF-8"%>

<%
        request.setCharacterEncoding("UTF-8");
%>

二、数据库乱码(以MySql为例):

       1. mysql安装的默认编码(latin1)-在mysql.ini(mysql安装根目录下)中设置。[mysqld]选项,默认没有。添加即在最后一行加入default- character-set=utf8。
        2.mysql数据库的编码,原则上默认的编码是mysql安装的默认编码,也可以在建库时用语句来执行:create databasedbname default character set utf8;我这里是建立一个utf8编码的dbname数据库。
        3.mysql数据表的编码,原则上默认是第二步建立的数据库的编码。提倡不要在creat table时加上编码
        4.利用程序建立mysql连接时,连接字符串使用的编码。如jdbc,php mysql_connect(),这个地方必须是与你页面的编码一致。
        5.WEB程序页面的编码,charset=utf8;与4必须一致。

       为了避免数据库乱码,我们可以在建表的时候指定字符编码集:

 

create table t_user(
   id int auto_increment,
   username varchar(12),
   password varchar(12),
   point int,
   pdate date,
   exp varchar(100),
   primary key(id)
)default charset=utf8


三、服务器设置导致的乱码问题(tomcat为例)

       将service.xml中的这段后面加上字符集设定

<Connector port="8090" protocol="HTTP/1.1"   
             maxThreads="150" connectionTimeout="20000"   
             redirectPort="8443" URIEncoding="utf-8" /> 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值