Cita:
Iniciado por abimaelrc
Debes usar codificación unicode/utf8
He estado investigando toda la noche y no he conseguido nada. No entiendo lo que me quieres decir, si te refieres a esto no funciona:
Código PHP:
<?php
$codificacion = "UTF-8";
header("Content-Type:text/html; charset=$codificacion");
$web = "http://www.qq.com"; // Por ejemplo.
$meta_tags = get_meta_tags("$web");
$description_meta_tag = $meta_tags['description'];
echo $description_meta_tag;
?>
De tanto que he investigado me he encontrado con esto pero no funciona.
1)
Código PHP:
<?php
define("UTF_8", 1);
define("ASCII", 2);
define("ISO_8859_1", 3);
function codificacion($texto)
{
$c = 0;
$ascii = true;
for ($i = 0;$i<strlen($texto);$i++) {
$byte = ord($texto[$i]);
if ($c>0) {
if (($byte>>6) != 0x2) {
return ISO_8859_1;
} else {
$c--;
}
} elseif ($byte&0x80) {
$ascii = false;
if (($byte>>5) == 0x6) {
$c = 1;
} elseif (($byte>>4) == 0xE) {
$c = 2;
} elseif (($byte>>3) == 0x14) {
$c = 3;
} else {
return ISO_8859_1;
}
}
}
return ($ascii) ? ASCII : UTF_8;
}
function utf8_decode_seguro($texto)
{
return (codificacion($texto)==ISO_8859_1) ? $texto : utf8_decode($texto);
}
?>
<?php
$a="Ascii";
$b="ISO-8859-1: áéíóú";
$c=utf8_encode($b);
echo utf8_decode_seguro($a)."\n";
echo utf8_decode_seguro($b)."\n";
echo utf8_decode_seguro($c)."\n";
?>
También, con respecto a mb_detect_encoding he encontrado que alguien ha reportado este bug, ¿puede ser que por eso no funcione?
https://bugs.php.net/bug.php?id=47018
Y hay muchos más si buscas en Google "Bug mb_detect_encoding".
¿Alguien sabe?