Ir para conteúdo
Fórum Script Brasil
  • 0

Conversão De Caracteres Errada?


Guest - Bruno -

Pergunta

Guest - Bruno -

Olá, sou novato em PHP e estou usando Apache v2.0.49, PHP v4.3.7 e MySQL v3.23.49. Todas as versões são recentes senão as últimas disponíveis.

Eu estou tendo problemas ao ler strings (texto) da minha tabela. Quando eu leio palavras da tabela que contem caracteres especiais da nossa lingua (como: é, á, ão) ele retorna coisas estranhas.

Por exemplo:

até 3 dias úteis

vira

até 3 dias úteis até

Isto é muito estranho pois quando eu vejo os dados que foram salvos na tabela com o phpMyAdmin, tudo aparece ok. Isto me leva a concluir que os dados estão sendo gravados corretamente no MySQL! O problema é quando vou ler os dados da tabela. Aí a conversão errada é feita (eu acho).

Para ler os dados de uma tabela, utilizo o seguinte código:

function showproduct($prod_id)
{
	Global $mysql_host;
	Global $mysql_database;
	Global $mysql_username;
	Global $mysql_password;
	Global $mysql_prod_table;

	$mysql_link = mysql_connect("$mysql_host", "$mysql_username", "$mysql_password");
	mysql_select_db("$mysql_database");
	$query = "SELECT * FROM $mysql_prod_table WHERE id = $prod_id";
  $mysql_result = mysql_query($query, $mysql_link);
  $row = mysql_fetch_row($mysql_result);
  return "$row[0]<br>$row[1]<br>$row[2]<br>$row[3]<br>$row[4]<br>$row[5]<br>$row[6]<br>$row[7]<br>$row[8] até";
}


// Manda o texto retornado para o browser
echo showproduct(1);

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Guest Achei a solução!

Eu andei fuçando no código PHP do phpMySQL e achei a solução!

1) Eu padronizei a página de código (charset) do meu site em utf-8. Isto é, o texto seria interpretado pelo navegador como estando no formato utf-8. Eu fiz isto através do comando:

<?php

// Colocar este comando antes de qualquer echo();

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

?>

Daí foi só usar uma função do PHP que convertia o formato do texto para utf-8:

<?php

utf8_encode();

?>

Falei alguma besteira?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...