2016-04-08 14 views
4

私はこれが悪いと思いますが、それは必要です。Javascriptはutf-8からiso-8859-1に文字列を変換します

utf-8文字セットを持つサイトにHTMLフォームがあり、iso-8859-1文字セットで動作するサーバーに送信されます。問題は、サーバがスペインで使用する文字を正しく理解していないことです(à, á, è, é, ì, í, ò, ó, ù, ú, ñ, çなど)。だからartículoのようなものを検索すると、artículoで何も答えません。

私はajaxform(http://malsup.com/jquery/form/)でフォームを送信すると、コードは次のようloks:

$(".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; 
}); 

私の問題がある:私は検索サーバーへのアクセスもを持っていないと私はイソするウェブサイト全体を変更することはできません8859-1 encodigこれは他のものを破壊するためです。

私はalredyなし大成功をしようとしているこれらのスクリプト:

は私が間違ってすべてをやってもいいですか?

編集:それはサーバに役に立たない%接頭語コードにこれらの空間文字を回すようescape機能は私のために有用ではありません、それはその後、art%EDculoを検索します。

を編集すると、encodeURIComponent機能を使用すると、サーバはart%C3%ADculoを認識します。 P.S.私はちょうどテストのために単語artículoを使用するが、それはすべての特別な文字をカバーする必要がありますソリューション。

+1

文字列をエンコードするには、古い['escape'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/escape)を試してください。さらに、サーバーを実行している人を見つけて[チキンで叩いてください] – georg

+1

[Javascriptの文字列をISO- 8859-1?](http://stackoverflow.com/questions/2283829/how-do-i-transcode-a-javascript-string-to-iso-8859-1) –

+0

@georgはい、私は彼にヒットするだろう私ができるなら、鶏(しかし生きているもの)は、 '%'で接頭引数をつけたcharコードを残すので、エスケープは役に立ちません。 @ matthew-herbst私はそれが本当に重複しているかどうか分からない、私はalredyがその質問から回答を試みたが、それは助けにはなりません。 – Falk

答えて

-2

最後にそのサーバーを実行します一つは、私たちに、サーバーへのアクセスを与え、我々はUTF-8互換のPHPスクリプトを作りました。だから私はもう気にしない。

1

私はutf-8 charsetを持つサイトにHTML形式を持ち、iso-8859-1 charsetで動作するサーバーに送信します。

フォームaccept-charsetを設定してみてくださいすることができます

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

私もこれを結びました。ブラウザはそれを無視してutf-8を送信します。 – Falk

+2

@Falk:あなたの 'ajaxSubmit'プラグインのように聞こえるのは、ブラウザではなくプラグインです。 – Bergi

+0

それは、私はそれについて考えるだろう。とにかく問題は解決され、最終的にサーバーにアクセスできます。 – Falk