Pregunta

Estoy tratando de encontrar la manera de crear URLs personalizadas para idiomas de doble byte.

Por ejemplo, esta url de Amazon Japón tiene caracteres japoneses dentro de la cadena de consulta (en concreto, la ruta):

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

Lo que me gustaría hacer es tener:

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

o incluso

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

ser capaz de decodificar correctamente la cadena $GET[name].

Creo que han intentado todas las posibilidades urldecode y utf8_decode, pero me acaba de obtener un galimatías en respuesta.

Esta todo bien funciona en una forma $_POST, pero necesito que estas URL se enviarse por correo electrónico ...

EDIT: Aquí está el código que estoy usando:

<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 />";
   }
?>
¿Fue útil?

Solución

¡Gracias!

que necesitaba para asegurarse de que la cabecera se informa:

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

Una vez que lo hice, los personajes fueron interpretados correctamente.

También encontraron esta, que es un recurso muy bueno:

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

Otros consejos

¿Usted ha intentado leer el valor GET directamente? Al igual que con $_SERVER['QUERY_STRING'] o equivalente? Estoy bastante seguro de que la función urldecode() todavía tiene algunos problemas, a pesar de que se supone que el trabajo con UTF-8 desde la versión 5.0.

Esta href="http://www.php.net/manual/en/function.urldecode.php" rel="nofollow página más en php.net tiene algunas observaciones útiles , algunos específicamente para casos japoneses.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top