He leido y leido, pero no soy capaz de solucionarlo.
El caso es que recojo una variable que llega por un form:
Código PHP :
$destinatario = $HTTP_POST_VARS["destinatario"];
Hasta ahí creo que bien.
El problema es que hago un switch para, dependiendo del valor de la variable, asigar un correo:
Código PHP :
switch ( $destinatario) {
case "Jesús Domínguez":
$correo = "[email protected]";
break;El primer problema es que aunque la variable llega con acentos, al comparar, hace caso omiso.
Entonces intento solucionarlo quitando los acentos con:
Código PHP :
function elimina_acentos($cadena){
$tofind = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
$replac = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
return(strtr($cadena,$tofind,$replac));
}
$destinatario= elimina_acentos( $destinatario);Pero esto me da como salida lo siguiente:
1. Sin poner ningun charset ni header: La variable de entrada= Jesús Domínguez la de Salida=JesA�A�s DomA�A�nguez
2. Poniendo como cabecera del php
Código PHP :
header('Content-Type: text/html; charset=utf-8'); hace lo mismo que el punto 1.3. Poniendo como cabecera del php
Código PHP :
header('Content-Type: text/html; charset=iso-8859-1'); la variable de entrada ya está mal = Jesús DomÃnguez Total, que estoy desesperado...
Gracias
