Bueno, tengo un problema complejo que no sé ya qué hacer, he probado de todo. Os cuento:
Tengo una página con:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
y un buscador en ella. Pues cojo la variable buscada:
Código PHP:
<?php $b = $_GET['b']; ?>
<input type="text" name="b" value='<?php echo $b; ?>'>
Pues cuando se usa el campo de texto del formulario, y se da a "Enviar" la palabra del campo de texto se ve bien, pero cuando se usa la barra del navegador no, es decir, cuando cambias la dirección manualmente sin usar el formulario, por ejemplo: .../index.php?b=españa lo cambias a b=españa+mañana.
Pues no sé por qué salen caracteres no reconocidos (la interrogación con fondo negro, por la ñ, por ejemplo). Lo raro es que cuando pongo
Código PHP:
<?php echo $b; ?>
Código PHP:
<?php echo utf8_encode($b); ?>
Además hago que cada búsqueda se añada a un archivo .xml, que es un mapa para google, y cuando hay un carácter que no se reconoce el mapa no lo recibe google.
Alguien sabe qué puedo hacer? Aunque sea
Código PHP:
<?php echo str_replace("?","",$b); ?>
También he probado htmlentities, y sale peor.
Pensado, lo único que se me ha ocurrido es que cuando se envía la consulta por formulario lo pasa codificado a utf8, por eso se ve bien, pero cuando se cambia el valor de ?b= desde el navegador no se codifica.
Me he explicado bien?