strings - acentos e cedilhas [php + mysql]

toblesu

Power Member
Boas...

Tenho valores guardados numa BD e quanto tento extrair palavras com acentuação ou cedilhadas, é colocado um caracter "estranho" no lugar....

já tentei usar a seguinte função:

function getRewriteString($sString) {
$string = strtolower(htmlentities($sString));
$string = preg_replace("/&(.)(uml);/", "$1e", $string);
$string = preg_replace("/&(.)(acute|cedil|circ|ring|tilde|uml);/", "$1", $string);
$string = preg_replace("/([^a-z0-9]+)/", "-", html_entity_decode($string));
$string = trim($string, "-");
return $string;
}



mas não corre la muito bem... por e simplesmente não me escreve a palavra!

alguma sugestão??
obrigado!
 
nops.. na base de dados tenho mesmo "coração"... e qd vou buscar essa string ele apresenta do tipo "cora??co".. (o simbolo nao é o '?', antes um losangulo).

lembrei-me que talvez o problema tenha começado com a inserção dos dados na Base de Dados, através do mysql_escape_real_string($_POST['<campo>'])
será por ai?

existe alguma possibilidade de ir buscar a string tal e qual sem ter que eliminar a parte do mysql_real_escape_string ? ou o "erro" não tem nada a ver com isso??
 
de facto reparei que o mysql_escape.... nao influenciava em nada para este caso!!

[mascker]
estavas a referir-te a esta linha?

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


está 'utf-8' altero para ISO-8859-1?

ou deviria funcionar tb com o utf-8?

como altero/vejo o charset/unicode das BD??

obrigado!


Alterei para ISO... e funcionou!!! obrigado plas dicas!!! :001:
 
Última edição pelo moderador:
Back
Topo