Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript编码自";UTF-8“;至;cp1252“;_Javascript_Encode - Fatal编程技术网

JavaScript编码自";UTF-8“;至;cp1252“;

JavaScript编码自";UTF-8“;至;cp1252“;,javascript,encode,Javascript,Encode,我想用JavaScript将字符串从“UTF-8”编码为“cp1252” 我有一个HTML文档作为utf-8发送,在该文档中有一个隐藏字段,用于保存JsonString,其中包含“utf-8”字符,例如二". 我的JavaBean在服务器端没有收到正确的值,它得到了“?” 我尝试先用java代码将JsonString转换为“cp1252”,然后将转换后的JsonString输入到隐藏字段中。Bean可以获得正确的字符 所以我想我可以通过使用JavaScript将字符串从“UTF-8”编码为“cp

我想用JavaScript将字符串从“UTF-8”编码为“cp1252”

我有一个HTML文档作为utf-8发送,在该文档中有一个隐藏字段,用于保存JsonString,其中包含“utf-8”字符,例如二". 我的JavaBean在服务器端没有收到正确的值,它得到了“?”

我尝试先用java代码将JsonString转换为“cp1252”,然后将转换后的JsonString输入到隐藏字段中。Bean可以获得正确的字符

所以我想我可以通过使用JavaScript将字符串从“UTF-8”编码为“cp1252”来解决这个问题


Html和JavaBean文件都使用“UTF-8”。

首先,不可能这样做,因为Unicode包含的字符比ISO8859-1多得多

其次,您应该(几乎)不必担心编码,因为浏览器会为您处理编码。在内部,JS始终使用UTF-16,无论文档编码是什么。当您使用
document.write
或DOM操作时,当
表单
需要特定编码时,浏览器将负责转换


我认为您真正应该做的是改进服务器端实现并切换到UTF-8。

相关:您到底想对结果做什么?@Pumbaa80如果有字符串str=”二这是编码“UTF-8”。我想把它转换成“ISO8859_1”“。然后它将显示为一些奇怪的字符串。如果我们必须猜测发生了什么,那么回答您的问题真的很难。因此,我认为您有一个以utf-8格式发送的HTML文档,在该文档中,您正在使用JS创建一个表单,该表单应以iso8859-1格式发送。在这种形式下,应该有一个隐藏字段,JS会给它一些值。但当您分配
时二",您的Java Bean在服务器端没有收到正确的值。是吗?如果是,请更新您的问题。ISO-8859无法编码字符“二“。非常感谢。我会检查我的Java Bean文件。如果您正在运行Tomcat,您也需要在那里。是的,我会注意的。谢谢您的提醒。”。
    <h:inputHidden id="hiddenPropertiesValues" 
        value="#{Bean.newProperties}"/>
    public void setNewProperties( String newProperties ) {
        this.newProperties = newProperties;
    }