如果我想在提交表单的时候text文本框里有 中文,日文,韩文,  用filter如何过滤?或者有更好的办法???越仔细越好

解决方案 »

  1.   

    为何要用filter?这种情况你只能用UTF-8编码(当然UTF-16也可,不过这个编码并没有被广泛支持使用)才能同时正常显示和处理中日韩3种文字了.因为同一个码值在不同的编码中对应的字符大多不同,这样即使用filter也无法分辨应该将得到的码值按哪种编码解释
      

  2.   

    可是一般用getparamter接受 text等string的时候都是乱码啊
      

  3.   

    至于乱码问题,原因有很多种.
    把你的jsp页面另存为utf-8编码,然后在头部增加<%@ page contentType="text/html;charset=utf-8" pageEncoding = "utf-8"%>
    如果是html页面的话,同样另存为utf-8编码(最好不要用windows的记事本之类的,它会在生成的文件头部加上bom字节,用eclipse之类开发用的编辑器),在头部添加<meta content="text/html;charset=utf-8" http-equiv="content-type">
    如果用的是tomcat的话,在tomcat安装目录下的conf文件夹里的server.xml里面找到<Connector port="8080"这里,添加 URIEncoding="ISO-8859-1" 再重启tomcat.
    然后所有参数在显示之前转换一下就可以了,不论提交表单用的是Get还是post方法(直接在地址栏输入参数例外,这种方法传递参数跟客户端平台相关),假设有参数yourParameter,那么就应该这样处理:
    yourParameter=request.getParameter("yourParameter");
    yourParameter= new String(yourParameter.getBytes("ISO-8859-1"), "UTF-8");