1.从java文件输出html标记,用不用特殊的格式,或像一些教材上只输出html标记就可以
如:只输出<table><tr><td>&nbsp</td></tr></table>2.我在写jsp程序时,jsp页面用gbk编码,js文件用utf-8,先从数据库(utf-8的编码)读出数据,
在java文件中输出html标记到jsp页面,然后用js页面的方法读html更改中文的值,填充页面的html
内容
如:用js输出一个表单控件:"男<input type='radio' value='男' name='sex' checked>"
value='男' 是不是 utf-8编码的?
然后在一个servlet中request.getParameter("sex")读取参数时,得到的值是&#37450;而不是:"男"
为什么?3.在网络上找解决的办法,是用apache的commons.lang包中的StringEscapeUtils.unescapeHtml方法
这个方法使用要注意什么问题??

解决方案 »

  1.   

    你是用PrintWriter对象的print()放法输出在浏览器?这样直接拼行了
    编码一般全用utf-8就行,一般不会出问题
    StringEscapeUtils.unescapeHtml就是把&#37450反编码成 ‘男’
    StringEscapeUtils.escapeHtml ‘男’---&#37450
      

  2.   

    是用PrintWriter输出的,单在用request.getParameter获取前
    我用js改过了html的中文”男“字
    不知有没有影响
      

  3.   

    用post提交或对参数进行URL编码,在页面读取的时候在进行解码
      

  4.   

    现在我改用ajax请求,然后用PrintWriter输出,"男"字,仍然显示是&#30007;
      

  5.   

    我主要想问为什么会产生这个&#30007;
      

  6.   

    男字的unicode编码就是&#30007;没什么问题啊
      

  7.   

    但是我用request.getParameter获取的也是&#30007;,而不是男字