1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

strings - acentos e cedilhas [php + mysql]

Discussão em 'Web Development' iniciada por toblesu, 7 de Abril de 2008. (Respostas: 5; Visualizações: 4522)

  1. toblesu

    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!
     
  2. hostmake

    hostmake Power Member

    ph

    tens isto na base dados "Coraç&atil;o"

    e quando fazes echo desse campo, não aparece Coração?
     
  3. toblesu

    toblesu Power Member

    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??
     
  4. mascker

    mascker Power Member

  5. hostmake

    hostmake Power Member

    não, o real escape só trata as " ".

    verifica o charset\unicode das tuas bases de dados, etc..
     
  6. toblesu

    toblesu Power Member

    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: 9 de Abril de 2008

Partilhar esta Página