1

多言語をサポートする codeigniter を使用してサイトを開発しています。ユーザーが母国語で検索すると、結果をページ分割すると最初の結果が得られ、文字がデコードされません。

これは、ページネーションに使用される URL です。

ここに画像の説明を入力

uri セグメントを印刷すると、 %E0%B4%AE が得られました

url エンコードと url デコードを試したところ、à´® のような別の文字が表示されました。

このタイプの文字セットをデコードする方法を教えてもらえますか?

4

1 に答える 1

3

使用するurldecode必要があるのはですが、間違った出力が出力される理由は、出力ページのエンコーディングがUTF-8に設定されていないため、デフォルトでISO-8859-1になっている可能性があります。したがって、文字はPHPによって正しくデコードされていますが、ブラウザは文字を間違ったエンコーディングで解釈し、誤った表示になります。

この問題を修正するには、次のような出力の前charsetにヘッダーでを送信します。Content-type

header('Content-type: <type>; charset=utf-8');

出力ページがHTMLの場合は、代わりにこのタグをhead:で使用できます。

<meta charset="utf-8">

head2番目のオプションを選択する場合は、ブラウザがこの宣言のページの最初の1024バイトを超えてスキャンしないため、タグをできるだけ早くに配置するようにしてください。

于 2012-11-18T06:43:06.977 に答える