definindo utf8 com mysql através de php

votos
1

I têm o seguinte código muito simples, que recupera dados formatetd UTF-8, tais como contendo tremas a partir de uma base de dados mysql, que pode ou não pode ser definido como UTF-8. Se eu usar uma das abordagens comentadas para garantir que os dados utf8 é devolvido, os dados não serão devolvidos como utf8, no entanto, se eu deixá-los fora, os dados serão exibidos. Por que forçar negate utf8 exibir dados como UTF-8?

<?php
  $con = mysqli_connect(localhost, x, , x);
  //$con->query(SET NAMES 'utf8');
  //$con-set_charset('utf8');
  $recordsQuery = SELECT ARTICLE_NAME FROM AUCTIONS1;

  if ($getRecords = $con->prepare($recordsQuery)) {
        $getRecords->execute();
        $getRecords->bind_result($ARTICLE_NAME);

        while ($getRecords->fetch()) {
        echo <p>$ARTICLE_NAME;
             }
    } else {
        print_r($con->error);
    }
Publicado 08/03/2009 em 22:15
fonte usuário
Em outras línguas...                            


2 respostas

votos
3

Talvez o erro reside no charset você está servindo a página com. Se você está recebendo o conteúdo UTF-8 para fora do banco de dados e servi-lo com o padrão charset HTML do Windows-1252, em seguida, ele vai olhar distorcido. Certifique-se de que você tem o equivalente a isso:

header( 'Content-Type: text/html; charset=utf-8' );

em seu código PHP.

Respondeu 08/03/2009 em 22:40
fonte usuário

votos
0
  1. Certifique-se que os seus dados são já UTF-8 codificado em seu banco de dados
  2. configurar o banco de dados para entregar UTF-8 (por exemplo,. 'UTF-8' SET NOMES)
  3. usar a codificação correta em seu site (aceno para Stak)

Se você ainda tiver problemas, por favor fornecer mais dados, especialmente o que é esperado eo que finalmente entregues

Respondeu 08/03/2009 em 23:13
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more