2011-11-25 36 views
0

我开发了一个网站,我使用jQuery从文本框(它是具有属性的输入标签:type = text)获取值。原因是我使用$ .get()函数,并使用文本框的值作为url的一部分,我使用它来搜索数据库。如果字母不是ASCII码,这可能是一个问题,所以我手动将瑞典语字母'åäö'转换为'char01'等来解决它。这是它的外观:在不同浏览器中编码的瑞典语字母

 vTxtBox = vTxtBox.replace("%C3%A5","char11"); 
     vTxtBox = vTxtBox.replace("%C3%A4","char12"); 
     vTxtBox = vTxtBox.replace("%C3%B6","char13"); 

的问题是,我的一些用户仍然遇到与此如此的问题,我的问题是: 是否有可能,一些浏览器都设置在比unicode的别的东西来解释“AAO” ?

在此先感谢

回答

1

像这样手动替换字符是没有必要的。改为使用您的每个值的encodeURIComponent()

看看是否已经解决了这个问题 - 如果你的当前页面是UTF-8,事情应该工作。如果它不起作用,请回来更多关于用户体验确切问题的详细信息。

+0

感谢您的答案,但我不太明白使用encodeURIComponent()。如果我使用encodeURIComponent()对url进行编码,我无法读取页面加载的参数,因为url已被编码。我真正想知道的是为什么(或者如何以及何时:P)我从我的文本框中获取的字符串在javascript中被编码而没有做任何事情? – user1065440

+0

@user仅编码您从文本框中获取的值。当然,我愚蠢的是 –

+0

!感谢您快速准确的答复! – user1065440