1

次のような URL に移動する場合:

http://example.com/user?u=ヴィックサ

Chrome が文字を次のようにエンコードしていることに気付きました。

http://example.com/user?u=%E3%83%B4%E3%82%A3%E3%83%83%E3%82%AF%E3%82%B5

そして、すべてがサーバー側で機能します。

ただし、IE では、コードから次のエラーが発生します。

検索しようとしているユーザー (???????) は存在しません。

5 つのクエスチョン マークに注意してください。何らかの理由で、PHP はパラメーターを認識できません。

これを引き起こしている可能性がありますか?それを修正する方法はありますか?

4

1 に答える 1

1

悲しいことに、あなたがやりたいことは、現在の世代の IE ではうまくいかないようです。

この質問に対する受け入れられた回答UTF-8 Encoding issue in IE query parametersは、サポートがブラウザーごとに異なり、場合によってはデバイスごとに異なるため、ブラウザーに依存するのではなく、文字を自分でエンコードする必要があることを示しています。

<a href='/path/to/page/?u=<?=urlencode('ヴィックサ')?>'>View User</a>

また、ウェブサーバーから utf8 ヘッダーを設定していると思いますか? そうでない場合は、phpで言いませんでした

header('Content-Type: text/html; charset=utf-8');
于 2013-04-27T16:41:05.513 に答える