我用JSP做的一个三级联动在从数据库查出来的内容需要用.getBytes( "iso-8859-1 "), "gb2312 "转换中文问题,我的程序中的IsoConvertGc就是实现这个功能的,但是我发现这个方法在普通程序中用可以,在javascript中就不起作用,如在这段话中就正确
<option value= " <%=IsoConvertGc(rs2.getString( "fenlei "))%> "> <%=IsoConvertGc(rs2.getString( "fenlei "))%> </option> 在javascript中就不可以,
哪位高手帮我改改下面这句话,这句话是在javascript中的一句话.我这样写运行出错了.
Division[ <%=i%> ] = new Array( " <%=rs.getString( "Division_name ").getBytes( "iso-8859-1 "), "gb2312 ")%> "
------解决方案--------------------
试试在页面最前面加入
<%@ page contentType= "text/html;charset=GBK "%>
然后修改
Division[ <%=i%> ] = new Array( " <%=rs.getString( "Division_name ").getBytes( "iso-8859-1 "), "gb2312 ")%> "
为:
Division[ <%=i%> ] = new Array( " <%=rs.getString( 'Division_name ').getBytes( 'iso-8859-1 '), 'gb2312 ')%> ");
------解决方案--------------------
楼上言之有理,一般换行和引号会造成这样的问题
需要进行转义处理
------解决方案--------------------
Division[ <%=i%> ] = new Array( " <%=rs.getString( "Division_name ").getBytes( "iso-8859-1 "), "gb2312 ")%> "
很明显 最后一个 ") "是全角括号
------解决方案--------------------
学习,帮顶了,我不太清楚。
记得utf-8改成gb2312是javacript是汉语的编码语言,在web.config里,不知道是不是这个的问题
------解决方案--------------------
看看页面生成的代码吧
------解决方案--------------------
有没有试过用javascript的escape方法来转换代码?