易截截图软件、单文件、免安装、纯绿色、仅160KB

Java解决各种中文乱码问题(1)get和post请求

作为java程序员,中文的乱码问题会经常碰到。过去的一个项目,我碰到了各种类型的java乱码问题。先分享给大家:
 
1:网页Post请求,提交后,显示提交结果,乱码。
首先确定数据库的编码方式。这里我发现,如果数据库的编码不是UTF-8,Post请求也可以保证回显正确,但是有一个地方要注意。
如html中:
(1)<input type="text" name="num" value="${person.num}"/>
这时,value中的num中文会正常显示。
 
(2)<input type="text" name="num" value="<c:out value="${person.num}">"/>
这时,value中的Num中文不会显示,显示乱码。
这是因为jstl标签库的原因。
虽然(1)代码可以显示中文,但仍然推荐数据库编码改成UTF-8
 
2:网页get请求,提交后,显示乱码。
这个问题就比较复杂了。
解决方法可以分为两步,(我们首先做了第一部,解决了大部分问题,第二步是解决特殊问题)。
我们难免使用get请求提交,如果其中有中文,那么:
 
(1)Tomcat中:
找到 server.xml 中的
    <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='GBK' />
以上方法是在网上找到的,我尝试了,起不到效果,但给了我们启发,我们如下做:
URIEncoding="UTF-8"
没想到成功了。我想这应该和我的操作系统的语言有关。我们是英文系统。
 
(2)这个是我为了解决一小部分(ajax和js动态生成的html)中提交中文问题,因为以上的方法都解决不了这个问题。我找到了如下类:
public class Escape {
private final static String[] hex = { "00", "01", "02", "03", "04", "05",
"06", "07", "08", "09", "0A", "0B", "0C", "0D", "0E", "0F", "10",
"11", "12", "13", "14", "15", "16", "17", "18", "19", "1A", "1B",
"1C", "1D", "1E", "1F", "20", "21", "22", "23", "24", "25", "26",
"27", "28", "29", "2A", "2B", "2C", "2D", "2E", "2F", "30", "31",
"32", "33", "34", "35", "36", "37", "38", "39", "3A", "3B", "3C",
"3D", "3E", "


相关文档:

Java创建线程

 Java使用两种方法来处理多线程
第一种是子类化Thread对象。 Thread对象是Java提供的封装线程的对象。如果子类化Thread类,则必须重载这个类中的run方法以提供由这个特殊线程执行的代码。因为Java不支持多重继承,所以如果你的类需要子类化另一个类,那么就不能子类化Thread对象。
第二种是实现由Java提供的Runnable ......

Java接口

 Java接口自己并不做实际的工作,它为最终做这些工作的方法指定原型。接口的名字一般以able结尾,名字其他的部分说明它如何工作。
当实现一个接口时,必须包含接口要求的方法。对Runnable来说,必须包含run方法。 ......

java xml知识

xml 基础知识
1.介绍

    1)DOM(JAXP Crimson解析器)
   
DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找
特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工 ......

java第6天课堂代码

/***************定义接口******************/
 package day6;
public interface StudentDao {
 
 public void insert();
 public void update();
 public void delete();
 public void query();
 public void FindById();
}
/***************定义接口 借宿***************** ......

Java的中文处理学习笔记:Hello Unicode

 作者:车东 发表于:2002-07-09 15:07 最后更新于:2007-04-12 11:04
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://www.chedong.com/tech/hello_unicode.html
不知道你有没有这样的感受:为什么PHP很少有乱码问题而用Java做WEB应用却这么麻烦呢?为什么在Googl ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号