首页 文章

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

提问于
浏览
4

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

我在一个带有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 encodig,因为这会破坏其他内容 .

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

我可以做错吗?

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

Edit 使用 encodeURIComponent 函数服务器理解 art%C3%ADculo . 附:我只是使用 artículo 这个词进行测试,但它应该涵盖所有特殊字符的解决方案 .

2 回答

  • 2

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

  • -3

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

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

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

相关问题