0

次のコードは、Chrome では "it’s" を POST しますが、Safari では "it's" です。

invocation = new XMLHttpRequest()
invocation.open('POST', 'https://example.herokuapp.com/content/24/nl/123')
invocation.setRequestHeader('Content-Type', 'text/plain; charset=UTF-8');
invocation.send('{"data":"it’s"}')

UTF-8 を使用して投稿するように Chrome を説得するにはどうすればよいですか?

4

1 に答える 1

0

必ず応答ヘッダーを設定してください

Content-Type: text/html; charset=UTF-8

https://example.herokuapp.com/content/24/nl/123ウェブサイト(リクエストページ)だけでなく、ターゲットページでも。また、データ ソース (ターゲット自体を含む) のエンコーディングが UTF-8 であるかどうかも確認してください。

私がテストした限り、文字化けしたエンコーディングは、パス上の文字セットの非互換性のみに起因します

client encoding- client request- server encoding- server data- server response

注: Web サーバーが PHP で実行されている場合は、ヘッダーを応答ヘッダーとして使用できます。何らかの理由でヘッダーを設定できない場合は、iconvを使用して応答を文字セットから UTF-8 に変換します。

于 2013-06-10T10:36:51.473 に答える