質問

私は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]文字列をデコードすることができます。

私はurldecodeutf8_decode可能性のすべてを試してみましたと思うが、私はちょうど応答でちんぷんかんぷんを取得します。

このすべては、フォーム$_POSTで罰金を動作しますが、私はメール送信...

であることを、これらのURLが必要

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');
私はそれをした後は、

、文字が正しく解釈された。

私も非常に優れたリソースである、これを見つけます:

http://www.phpwact.org/php/i18n/utf-8

他のヒント

あなたが直接GET値を読んでみましたがありますか? $_SERVER['QUERY_STRING']または同等のと同じように?私はかなり確信してurldecode()機能はまだそれは、バージョン5.0以降UTF-8で動作するようになっていていても、いくつかの問題を持っていることです。

php.netでのオーバー

このページは、いくつかの有用なコメントを持っています、特に日本の場合のためのいくつかの。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top