Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Eduardo Villa

Problemas com acentuação SQL_Latin1_General_CP1_CI_AS

Recommended Posts

Salve galera!

 

Estou tendo um problema de acentuação.

 

O banco de dados esta com COLLATION SQL_Latin1_General_CP1_CI_AS para poder ignorar letras maiúsculas e acentos, mas quando exibo os dados do banco vem assim: Ace Data Inform�tica Ltda

 

Não sei mais o que tentar...

 

Lembrando que estou utilizando o Codeigniter...

 

 

Valew

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende de com esta configurado a codificação de caracteres de sua pagina.

No caso amigo para evitar este tipo de problema configure tudo com a mesma codificação de caractere, te aconselho a usar UTF-8 em tudo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ricardo Saraiva!

Em ambas as codificações (página e conexão com o banco de dados) estão com UTF-8 e mesmo assim está dando erro de caracteres.

 

Já tentei até ISO-8859-1 e também não resolveu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom no caso as funções funções utf8_encode e utf8_decode podem resolver o seu problema : utf8_encode e utf8_decode.

E no caso defina a codificão de caractere de sua pagina para UTF-8:

 

 

<!-- HTML-5 -->
<meta charset="UTF-8">
 
<!-- HTML 4 -->
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">

Compartilhar este post


Link para o post
Compartilhar em outros sites
Outra alternativa defina o caratere como UTF-8 no header com o próprio php e tambem na conexão com o banco de dados.
header('Content-Type: text/html; charset=utf-8');//Define o caractere como utf-8
$this->conn = new mysqli('host', 'user', 'pass', 'database');//conexão com o banco de dados
$this->conn->set_charset('utf8');//define a codificação que o banco de dados ira trazer as informações

 

Tem este artigo excelente que fala sobre problemas com caracteres:

http://rubsphp.blogspot.com.br/2011/07/problemas-com-charset-nunca-mais.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

No codeigniter ele já faz isso:


$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";


\o/ consegui corrigir, valew pela ajuda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

No codeigniter ele já faz isso:

$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";

\o/ consegui corrigir, valew pela ajuda...

Bom dia!

Qual foi a solução?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A resposta correta é salvar tudo na mesma codificação.

 

Quando estamos falando de PHP, deve-se cuidar a codificação em 4 lugares:

- Codificação do arquivo;

- Codificação do HTML (header, etc...);

- Codificação da conexão com o banco de dados;

- Codificação das tabelas/registros do banco de dados.

 

Não importa qual você escolha (UTF-8, ISO-8859-1, etc...), apenas importa que todos sejam o mesmo. O link abaixo (que já foi mencionado) explica exatamente aonde deve-se preocupar: http://rubsphp.blogspot.com.br/2011/07/problemas-com-charset-nunca-mais.html

 

Por convenção, utiliza-se UTF-8 como padrão.

 

Utilizar as funções de codificação de texto (utf8_decode, utf8_encode, MB String, etc..) é somente em casos aonde há incompatibilidade com a configuração utilizada pelo banco de dados e o drive fornecido para o PHP. Problema o qual era bem comum entre servidores linux e bancos de dados SQL Servers.

 

No mais, para novas dúvidas, deve-se abrir um novo tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.