js里面比较中文时的编码问题

thindz 2010-11-17 08:28:18
alert(eft.options[0].text+":"+dishList[idx]['foodType']);
if(eft.options[i].text == dishList[idx]['foodType'])

我在jsp页面中,把从action中的中文值到JSP中,其中一部分传到一个<select ><option>传入的中文值1</option></select
另一部分传到脚本里 <script > arr[0]=传入的中文值2</script>
当我在比较它们的值时,发现,值1为可以识别的中文字,值2为 类似 〹 的样子.

怎么才能让它们正常比较呢?
...全文
206 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
thindz 2010-11-20
  • 打赏
  • 举报
回复
我没测试过,应该就是unescape了.
我在structs.xml中的常量都改了:
<constant name="struts.locale" value="GB18030" />
<constant name="struts.i18n.encoding" value="GB18030" />

在jsp中也改成GB18030
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
后,在<s:property value="userName" scape="false"/> 这样才得到正常汉字.

想来,如果用UTF-8的话,必须在js中使用unescape().
insight1989 2010-11-18
  • 打赏
  • 举报
回复
str='冷盘';
str=unescape(str);
然后在判断 应该就OVER game了
thindz 2010-11-17
  • 打赏
  • 举报
回复
在查看源代码里可以看到, 在js代码中就是这样的.
str='冷盘';
然后,xxx.innerHTML=str;后,在页面上看到的是汉字.

equals 不能在 js里用吧?
ania6 2010-11-17
  • 打赏
  • 举报
回复
我之前也遇过像你这样的问题!我也是用=号的,但是我后来换.equals()时就可以了;

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧