2010-03-29 80 views
0

我想弄清楚如何爲雙字節語言創建個性化的URL。查詢字符串中的雙字節字符使用PHP

例如,從亞馬遜日本此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罰款,但我需要這些網址通過電子郵件發送的......

編輯:這是我使用的代碼:

<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 />"; 
    } 
?> 
+0

你能告訴一些莫名其妙的話?你是否也在使用UTF-8進行展示? – 2010-03-29 19:59:56

回答

2

Got it!

我需要確保的頭球攻門被報告:

header ('Content-type: text/html; charset=utf-8'); 

一旦我做到了,人物進行了適當的解釋。

我也發現了這一點,這是一個很好的資源:

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

0

您是否嘗試過閱讀GET值直接?與$_SERVER['QUERY_STRING']一樣嗎?我很確定urldecode()函數仍然存在一些問題,即使它自5.0版以後可以使用UTF-8。

這個page在php.net有一些有用的意見,一些專門針對日本的情況。