私はこれが悪いと思いますが、それは必要です。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なし大成功をしようとしているこれらのスクリプト:
- http://phpjs.org/functions/utf8_decode/
- http://phpjs.org/functions/utf8_encode/
- http://ecmanaut.blogspot.com.es/2006/07/encoding-decoding-utf8-in-javascript.html
は私が間違ってすべてをやってもいいですか?
編集:それはサーバに役に立たない%
接頭語コードにこれらの空間文字を回すようescape
機能は私のために有用ではありません、それはその後、art%EDculo
を検索します。
を編集すると、encodeURIComponent
機能を使用すると、サーバはart%C3%ADculo
を認識します。 P.S.私はちょうどテストのために単語artículo
を使用するが、それはすべての特別な文字をカバーする必要がありますソリューション。
文字列をエンコードするには、古い['escape'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/escape)を試してください。さらに、サーバーを実行している人を見つけて[チキンで叩いてください] – georg
[Javascriptの文字列をISO- 8859-1?](http://stackoverflow.com/questions/2283829/how-do-i-transcode-a-javascript-string-to-iso-8859-1) –
@georgはい、私は彼にヒットするだろう私ができるなら、鶏(しかし生きているもの)は、 '%'で接頭引数をつけたcharコードを残すので、エスケープは役に立ちません。 @ matthew-herbst私はそれが本当に重複しているかどうか分からない、私はalredyがその質問から回答を試みたが、それは助けにはなりません。 – Falk