我在html页面中输入中文,然后在servlet中翻译成英文,再返回给客户端,当我测试的时候,即把翻译后的英文返回给客户端的时候,却是一连串的?号,请问怎么在客户端输出英文字符 有关字符编码的问题我有点迷惑
    谢谢!

解决方案 »

  1.   

    在servlet中打印下获得的内容,中文英文都打印一下
    客户端是什么?jsp吗?中文乱码问题
    1、jsp页面乱码
    当建立一个jsp页面时,默认pageEncoding="iso-8859-1"
    当页面出现中文时会出现乱码,因为iso-8859-1不支持中文编码
    解决方法,将pageEncoding设置成支持中文的编码eg:utf-8 or gbk or gb2312
    2、servlet的中文乱码
    默认response.setContentType("text/html");
    没有设置编码,所以出现中文时会出现乱码
    解决办法:response.setContentType("text/html;charset=utf-8");
    3、post表单传递参数乱码
    * 通过jsp页面,html页面或者servlet中的表单元素提交参数给对应的jsp页面或servlet
    而jsp和servlet接收的参数产生中文乱码
    * 在接收post提交的参数之前,使用request.setCharactEncoding("utf-8")设定接收参数的内容使用"utf-8"编码
    * 更好的解决办法是添加过滤器
    4、URI方式传递参数乱码
    * 使用表单传递参数可以通过get和post方式传递参数,也可以通过连接的方式传递参数,这个传递参数的方式实际上就是get方式传递参数
     这种方式传递中文也可以产生乱码
    解决方法:修改服务器的<Connector URIEncoding="utf-8">
      

  2.   

    你可以先打印下在servlet中接收到的值是不是正常的,如果不是那后面的操作没有意义,