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