2010-03-29 5 views
0

2 바이트 언어에 대한 맞춤 URL을 만드는 방법을 알아 내려고하고 있습니다.PHP를 사용하는 쿼리 문자열의 더블 바이트 문자

http://www.mysite.com/風の谷のナウシカ 

또는를 : 내가하고 싶은 무엇

http://www.amazon.co.jp/風の谷のナウシカ-DVD-宮崎駿/dp/B00005R5J3/ref=sr_1_3?ie=UTF8&s=dvd&qid=1269891925&sr=8-3 

가지고있다 : 예를 들어

는 아마존 일본이 URL은 쿼리 문자열 (특히, 경로) 내에서 일본어 문자가

http://www.mysite.com/index.php?name=風の谷のナウシカ 

$GET[name] 문자열을 올바르게 디코딩 할 수 있어야합니다.

나는 urldecodeutf8_decode 가능성을 모두 시도했다고 생각하지만 응답이 헛 스럽다.

이 모든 형태 $_POST에서 잘 작동하지만 내가 이메일로 전송할 수 이러한 URL이 필요합니다 ...

편집 :

<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로 보여주는 것도하고 있습니까? –

답변

2

알 수 있습니다.

은 확실 헤더가보고되었다 만드는 데 필요한 : 나는 문자가 제대로 해석하고 있다는 한 후

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에서 몇 가지 유용한 의견이 있습니다. 일부는 특히 일본어 사례입니다.