前几天在完成一个ssh框架的项目时遇到一个小问题,情况是这样的。
在action中定义了私有变量,并提供get(),set()方法,js代码中就应该可以访问它。于是我从js代码中通过地址栏传值给了action的相应变量,但是,如果变量值为中文的时候,在action中测试输出则为“???”,而浏览器地址栏中仍然能显示中文。

我先根据网上一些解答配置了tomcat的配置文件,未果。后来想想也许不是什么复杂的问题,应该就是编码问题。我的myeclipse和项目的编码都设置为的“UTF-8”。于是我试着把项目和myeclipse编码都设为“iso8859-1”,还是不行。

这样不行,我便采取了更直接的方式,在action中把获取的变量值转换一下试试(假设变量为string):
复制代码 代码如下:
String newstring = new String(string.getBytes("iso8859-1"));

但是这样还是没有用~~~~~~试了很久发现我的想法是对的但是合适的语句应该如下:
复制代码 代码如下:
String newstring = new String(string.getBytes("iso8859-1"),"utf-8");

ps:我先试着转成GBK,然后发现字可以显示了,但是没人认识的字。。。果然还是“iso8859-1”对中文的支持好啊

标签:
地址栏,action传值,中文乱码

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

RTX 5090要首发 性能要翻倍!三星展示GDDR7显存

三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。

首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。

据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。