ホームページ  >  記事  >  バックエンド開発  >  TP3.2では、テンプレートページが文字化けした値をコントローラーのGETに渡します

TP3.2では、テンプレートページが文字化けした値をコントローラーのGETに渡します

WBOY
WBOYオリジナル
2016-06-23 13:29:211468ブラウズ

TP3.2 では、テンプレート ページからトラバースされたデータ内の漢字は正常に表示されますが、漢字がハイパーリンクでコントローラーに送信されると、

<td <php>echo display(CONTROLLER_NAME.'/editrule');</php> >    <a href="__URL__/editrule/id/{$v['id']}/depname/{$v['depname']}/posname/{$v['posname']}/    navTabId/{:CONTROLLER_NAME}" data-toggle="doajax" data-confirm-msg="确定要操作吗?">    <php>M('auth_group_access')->where(array("group_id"=>0))->delete();    if (M('auth_group_access')->where(array("uid"=>$v['id']))->count() > 0){echo "有";}else{echo "无";}    </php></a></td>

$v['depname'] は中国語の文字であり、受信コントローラに文字化けが表示されます。コントローラーにヘッダー設定エンコーディング utf-8 を追加しましたが、機能しませんでした


ディスカッションに返信 (解決策)

$v['depname'] は漢字ですか? ? ?
これは、URL に中国語の文字が含まれていることを意味します。IIS は URL パスに中国語の文字を使用できますが、他の Web サーバーでは URL に中国語の文字を含めることができません。

$v['depname'] は中国語の文字です。 ? ? ?
これは、URL に中国語の文字が含まれていることを意味します。IIS は URL パスに中国語の文字を使用できますが、他の Web サーバーでは URL に中国語の文字を含めることができません。 HTML ファイルと PHP ファイルの作業ディレクトリに、HTML ファイルに漢字を含むハイパーリンクを記述して、それを PHP ファイルに転送しても問題ありません。そして、私が書いたコードはオンラインになる前は問題ありませんでしたが、サーバーを変更した後は問題ありませんでした


中国語の文字は URL パラメータとして使用できますが、パスとしては使用できません 前にも言いましたが、そうでない場合は何もできません信じないでください

個々のサーバーがテストに合格するという事実には、普遍的な意味はありません。あなたもそうじゃないですか
サーバーを変更すると機能しません

中国語の文字は URL パラメータとして使用できますが、パスとしては使用できません

前にも言いましたが、そうしないと何もできません私を信じてください

個々のサーバーテストに合格しましたが、普遍的な意味はありません。あなたも
サーバーを変更すると機能しなくなります
ハイパーリンクを それだけで十分ですか?あはは、ごめんなさい、パラメーターとパスについて少し混乱しています

パスとパラメーターについては、次のことを意味します
考えられる根本原因は、他のサーバーでの URL の書き換えが有効になっていないことです



パスとパラメータ、つまり

考えられる根本原因は、他のサーバーでの URL の書き換えが有効になっていないことです


ありがとうございます!