PHPを使用してクエリ文字列に2バイト文字
-
23-09-2019 - |
質問
私は2バイト言語のためのパーソナライズされたURLを作成する方法を理解しようとしています。
たとえば、アマゾンジャパンからこのURLは、クエリ文字列の中に日本語の文字を持っている(具体的には、パス):
http://www.amazon.co.jp/風の谷のナウシカ-DVD-宮崎駿/dp/B00005R5J3/ref=sr_1_3?ie=UTF8&s=dvd&qid=1269891925&sr=8-3
私は何をしたいの持っているます:
http://www.mysite.com/風の谷のナウシカ
あるいは
http://www.mysite.com/index.php?name=風の谷のナウシカ
適切$GET[name]
文字列をデコードすることができます。
私はurldecode
とutf8_decode
可能性のすべてを試してみましたと思うが、私はちょうど応答でちんぷんかんぷんを取得します。
このすべては、フォーム$_POST
で罰金を動作しますが、私はメール送信...
EDITます:
:ここで私が使用しているコードがあります<p>Original: <?= $_GET[str]; ?>
<br>Decode: <?= urldecode($_GET[str]); ?>
<br>Decode querystring: <?= urldecode($_SERVER[QUERY_STRING]); ?>
<p>
<?
while (list($var,$value) = each ($_SERVER)) {
echo "$var => $value <br />";
}
?>
解決
ガットそれ!
私は必ずヘッダが報告されたを作るために必要なます:
header ('Content-type: text/html; charset=utf-8');
私はそれをした後は、、文字が正しく解釈された。
私も非常に優れたリソースである、これを見つけます:
他のヒント
あなたが直接GET値を読んでみましたがありますか? $_SERVER['QUERY_STRING']
または同等のと同じように?私はかなり確信してurldecode()
機能はまだそれは、バージョン5.0以降UTF-8で動作するようになっていていても、いくつかの問題を持っていることです。
このページは、いくつかの有用なコメントを持っています、特に日本の場合のためのいくつかの。
所属していません StackOverflow