response.sendRedirect("content/template/zpsc.jsp?path="+realPath+"&responseText="+responseText+""); realPath里有汉字 '''response.setContentType("text/html; charset=utf-8"); request.setCharacterEncoding("utf-8"); ''不管用
你前端接收数据的是javascript还是jsp 如果是javascript的话在后台你可以用escape()对文字进行加密,然后用javascript中的unescape()进行解密。 因为javascript中自带这两个方法进行加密解密比较方便。这两个加密和解密的方法网上已经有高手用java的方式实现了,可以下一个工具类然后就这样的方式在后台进行加密,在前台用javascript自带方法进行解密。这样一定是没有乱码的。如果是用jsp接收数据建议不要采用这种方式。可以用一些内置对象传值。
Response.sendRedirect("content/template/zpsc.jsp?path=" URLEncoder.encode(realPath, "UTF-8") "&responseText=" URLEncoder.encode(responseText,"UTF-8") "");
做个好人吧
这样是肯定不行的,你这个是通过url传值,会出现转码问题
比较简单和正统的方式是通过request、session、application等内置对象传值
通过url传汉字的话,先要将汉字转成unicode
通过request、session、application等内置对象传值
前台js: encodeURI(encodeURI(tag))
后台java代码: String tag = URLDecoder.decode(tag, "utf-8");
要不写个 字符过滤器 试试看?
你前端接收数据的是javascript还是jsp 如果是javascript的话在后台你可以用escape()对文字进行加密,然后用javascript中的unescape()进行解密。 因为javascript中自带这两个方法进行加密解密比较方便。这两个加密和解密的方法网上已经有高手用java的方式实现了,可以下一个工具类然后就这样的方式在后台进行加密,在前台用javascript自带方法进行解密。这样一定是没有乱码的。如果是用jsp接收数据建议不要采用这种方式。可以用一些内置对象传值。
Response.sendRedirect("content/template/zpsc.jsp?path=" URLEncoder.encode(realPath, "UTF-8") "&responseText=" URLEncoder.encode(responseText,"UTF-8") "");
做个好人吧
这样是肯定不行的,你这个是通过url传值,会出现转码问题
比较简单和正统的方式是通过request、session、application等内置对象传值
通过url传汉字的话,先要将汉字转成unicode
通过request、session、application等内置对象传值
前台js: encodeURI(encodeURI(tag))
后台java代码: String tag = URLDecoder.decode(tag, "utf-8");
要不写个 字符过滤器 试试看?