jueves, 18 de agosto de 2011

Poner acentos de MySQL a PHP

Como es bien sabido, hay  incompatibilidad entre los acentos de MySQL y PHP. Si no puedes entrar a cambiar los parametros de las tablas y del PHP, una forma directa es por medio de la siguiente función:

function ponAcentos($str) {
        $html_entities = array (
            "•" =>  "•",     #ampersand  
            "é" =>  "é",     #latin small letter a
            "É" => "É",
            "á" =>  "á" ,     #latin capital letter A
            "Á" => "Á",
            "ñ" => "ñ" ,     #latin capital letter E
            "Ñ" => "Ñ",
            "í" => "í" ,     #latin small letter e
            "Í " => "Í",
            "ó" => "ó" ,     #latin small letter u
            "Ó" => "Ó",
            "–" => "–" ,     #latin capital letter U
            "ü" => "ü",      #latin small letter u
            "Ú" => "Ú",
            "ú" => "ú",
            "¡" => "¡",
            "¿" => "¿",
            "“" => "«",
            "â€" => "»"
        );
        foreach ($html_entities as $key => $value) {
            $str = str_replace($key, $value, $str);
        }
        return $str;
    }

No hay comentarios:

Publicar un comentario