我今年刚开始学jsp,最近遇到了乱码的问题,特别是中英文都用的时候,我不是很清楚编码如何选择,设置,需要注意什么……哪位高手能给我讲讲 ,越详细越好!谢谢

解决方案 »

  1.   

    关于中文乱码问题的几点总结:  
      1、unicode,utf-8,gbk,gb2312等都是字符编码,是指怎么用字节来表示字符。        
      2、java使用的是unicode,此话的意思是指运行时java的char类型是一个unicode编码字符,占两个字节。  
      3、java原文件一般都是以本地字符编码存储在本地文件系统中的。  
      4、java类文件是以unicode编码存储在本地文件系统中的。  
      5、当从一个字节序列转化为一个字符串的时候,需要字符编码。  
        
      乱码问题一般就是发生在第5步,比如一个4字节iso8859-1编码的字节(如:a,b,c,d),如果使用正确的字符编码转化它将被转化为4个字符(a,b,c,d)占8个字节,如果使用gbk编码转化它将被转为2个字符,同时着两个字符肯定也不是合法的gbk字符(??),乱码也就产生了。  
        
      而jsp中的乱码问题  
      1、首先说读取数据,web服务器接收请求时,接受到的是字节序列,转化为字符时就需要知道此字符序列的编码,才能正确转化。对于tomcat来讲,如果未指定则默认使用iso8859-1,而通常中文平台的编码是gb2312,所以就会产生乱玛。  
      2、 <%@  page  contentType="text/html;  charset=GBK"  %>  
      着句的意思是设置http响应头,提示浏览器使用的字符编码,同时设置http响应(response)的字符编码。  
      3、对于tomcat的get请求,编码的处理是在server.xml的connctor的URIEncoding中指定的。  这是对乱码的总结。