Javascript将字符串从utf-8转换为iso-8859-1

时间:2016-04-08 08:52:49

标签: javascript jquery encoding utf-8 iso-8859-1

我知道这听起来很糟糕,但这是必要的。

我在一个带有utf-8字符集的网站上有一个HTML表单,该表单被发送到与iso-8859-1字符集一起使用的服务器。问题是服务器无法正确理解我们在西班牙使用的字符à, á, è, é, ì, í, ò, ó, ù, ú, ñ, ç等等。因此,如果我搜索artículo之类的内容,则会回答artículo找不到任何内容。

我发送带有ajaxform(http://malsup.com/jquery/form/)的表单,代码就像这样:

$(".form-wrap, #pagina").on("submit", "form", function(event){
    event.preventDefault();
    $(this).ajaxSubmit({

        success: function(data){
            $("#temp").html(data);
            //Handle data in #temp div
            $("#temp").html('');
        }
    });
    return false;
});

我的问题是:我无法访问搜索服务器,我无法将整个网站更改为iso-8859-1编码,因为这会破坏其他内容。

我已经试过这些脚本没有成功:

我可能做错了吗?

编辑: escape函数对我没用,因为它将这些空间字符转换为对服务器无用的%前缀代码,然后搜索art%EDculo

使用服务器了解encodeURIComponent的{​​{1}}函数

修改。附:我只是使用art%C3%ADculo这个词进行测试,但它应该涵盖所有特殊字符的解决方案。

2 个答案:

答案 0 :(得分:2)

  

我在一个带有utf-8字符集的网站上有一个HTML表单,该表单被发送到与iso-8859-1字符集一起使用的服务器。

您可以尝试设置表单accept-charset

<form accept-charset="iso-8859-1">
....
</form>

答案 1 :(得分:-3)

最后,运行该服务器的人给了我们访问服务器的权限,我们制作了一个utf-8兼容的php脚本。所以我不再关心了。