簡體   English   中英

Javascript將字符串從utf-8轉換為iso-8859-1

[英]Javascript convert string from utf-8 to iso-8859-1

我知道這聽起來很糟糕,但這是必要的。

我在一個帶有utf-8字符集的站點上有一個HTML表單,該表單被發送到與iso-8859-1字符集一起使用的服務器。 問題是服務器無法正確理解我們在西班牙使用的字符,如à, á, è, é, ì, í, ò, ó, ù, ú, ñ, ç等。 因此,如果我搜索類似artículo它就會回答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,因為這會破壞其他內容。

我已經試過沒有成功這些腳本:

我可以做錯嗎?

編輯: escape函數對我沒用,因為它將這些空間字符轉換為對服務器無用的%前綴代碼,然后搜索art%EDculo

使用encodeURIComponent函數進行編輯 ,服務器了解art%C3%ADculo PS我只是使用artículo這個詞進行測試,但它應該涵蓋所有特殊字符的解決方案。

我在一個帶有utf-8字符集的站點上有一個HTML表單,該表單被發送到與iso-8859-1字符集一起使用的服務器。

您可以嘗試設置表單accept-charset

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

最后,運行該服務器的人給了我們訪問服務器的權限,我們制作了一個utf-8兼容的php腳本。 所以我不在乎了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM