html 中文乱码 HTML超链接中文乱码问题分析及解决方法

  发布时间:2012-12-30 16:54:52   作者:佚名   我要评论
Vm中一个超链接URL需要拼接中文作为Get请求的参数如果直接拼接,传到后台Action的参数对象中后取出会是乱码,需要编码后再拼接到URL上,接下来将和大家分享一下解决方法
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

Vm中一个超链接URL需要拼接中文作为Get请求的参数。如果直接拼接,传到后台Action的参数对象中后取出会是乱码,需要编码后再拼接到URL上。
解决方法是在Action中添加一个成员变量,保存编码后的中文参数。在vm页面渲染时取出这个变量值,再拼接超链接。

在这里碰到的问题是:调用java.net.URLEncoder的encode()方法时,如果没有显示指定字符集参数,那么URLEncoder会使用默认字符集。这个默认字符集在Eclipse里跑main()方法和在Tomcat里跑Web应用,得到的结果不一样,所以影响了编码的结果。

复制代码
代码如下:

/**
* Translates a string into <code>x-www-form-urlencoded</code>
* format. This method uses the platform'sdefault encoding
* as the encoding scheme to obtain thebytes for unsafe characters.
*
* @param s <code>String</code> to betranslated.
* @deprecated The resulting string mayvary depending on the platform's
* default encoding. Instead, use theencode(String,String)
* method to specify the encoding.
* @return the translated <code>String</code>.
*/
@Deprecated
public static String encode(String s) {
String str = null;
try {
str = encode(s, dfltEncName);
} catch(UnsupportedEncodingException e) {
// The system should always have theplatform default
}
return str;
}

方法的注释中也说明了不建议使用的原因是,这个encode(String)方法依赖于平台字符集。

相关文章

  • HTML5在IE10、火狐下中文乱码问题的解决方法

    写HTML5代码时发现中文显示乱码,之前以为是不兼容IE10、然后换成火狐,谁知也不行,经反复研究测试,寻得个不错的解决方法,有类似情况的朋友可以参考下
    2013-11-18
  • HTML5 UTF-8 中文乱码的解决方法

    HTML5 UTF-8出现中文乱码的情况,应该有很多的朋友都有遇到吧,用记事本写,保存后在网页上运行出现了乱码,换成GB2312能正确显示中文,下面就为大家探讨下具体的解决方法
    2013-11-18
  • html文件的中文乱码问题与在浏览器中的显示问题

    我今天的页面也是出现了乱码,所以在网上查找了相关的问题,看来一下,这个方法挺不错的,我也试验了呢,我用的editp编辑器,在文档—文件编码—更改文件编码—选择自己所
    2013-02-26
  • 关于HTML编码导致的乱码问题

    今天遇到个问题就是写的HTML代码打开显示的是乱码问题,怎么处理这一问题呢,下面小编通过图文实例相结合给大家分享处理方法,一起看看吧
    2021-09-02

最新评论

?


http://www.vxiaotou.com