Ir para conteúdo

POWERED BY:

Arquivado

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

Komori

Problema com acentuação e caracteres Japoneses

Recommended Posts

Olá pessoal, espero que alguém consiga me ajudar.

 

Estou com um problema a 2 dias, estou utilizando o charset utf-8 pois preciso ter na mesma página caracteres japoneses e o português.

 

O Problema é o seguinte, se eu escrever normalmente na página ele aparece os códigos, porém se eu faço um SELECT no BD ele aparece tudo como "?"

 

Lendo o fórum já tentei utilizar utf8encode, utf8decode, ja alterei o bando de dados e os collations da tabela e não consigo fazer de jeito nenhum os caracteres japoneses aparecerem.

 

Utilizando os meios descritos acima consegui fazer os acentos aparecerem, porém os caracteres japones não aparecem qdo os dados vem do BD.

 

Ja criei uma outra página nesse sistema e não tive problemas, estava hospedado em um servidor japonês, não sei c isso influenciou pois o mysql q eu utilizava tinha um path japones, esse outra página esta em um servidor americano e não consigo de jeito nenhum fazer com que os caracteres japoneses apareçam na página.

 

Via phpAdmin os dados estão todos certos, uma outra coisa q tentei, mas que so vou utilizar em último caso seria cadastrar todos os dados q ja estão no BD via formulário mesmo, qdo faço isso os dados no BD qdo acessados via phpAdmin ou qualquer outro programa de gerenciamento do MySQL mostra os caracteres "zoados" tipo assim "ção" e os caracteres são outros código bem maiores.

 

Como minha página esta em utf8, meu bd esta em utf8 e minhas tabelas estao como utf8 e collation ut8_general_ci não sei mais o q fazer, não consegui achar nada que possa resolver meu problema.

 

Obs.: Já tentei com collation utf8_unicode_ci e utf8_binary também, ja usei a tabela ao invés de utf8 como binary tbm e nada

 

Acho q devo ter deixado passar alguma coisa, pois tenho o phpBB instalado e criei um tópico nele com caracteres japoneses e caracteres acentuados e gravou certo no BD e a visualização é perfeita também.

 

Bom, espero que alguém consiga me ajudar. Um pequeno formulário q fiz pra teste se alguem quizer saber o q ta acontecendo é so acessar Exemplo de Caracteres Japoneses e Acentos

Compartilhar este post


Link para o post
Compartilhar em outros sites

você deve verificar tb se o servidor suporta o idioma multibyte japones e o idioma português pt-br abnt2

Compartilhar este post


Link para o post
Compartilhar em outros sites

você deve verificar tb se o servidor suporta o idioma multibyte japones e o idioma português pt-br abnt2

Olá Hinom, o q eu achei estranho é que o forum phpBB que está instalado no mesmo servidor funciona normalmente.

 

Ele armazena no Mysql a mesma coisa que é mostrada no tópico.

 

Será que existe algum comando em PHP q é usado no phpBB para codificar tudo que é postado?

 

Outra coisa, como poderia verificar se o servidor suporta esses caracteres? seria somente entrando em contato via e-mail ou teria algum comando para isso?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

você deve verificar tb se o servidor suporta o idioma multibyte japones e o idioma português pt-br abnt2

Olá Hinom, o q eu achei estranho é que o forum phpBB que está instalado no mesmo servidor funciona normalmente.

 

Ele armazena no Mysql a mesma coisa que é mostrada no tópico.

 

Será que existe algum comando em PHP q é usado no phpBB para codificar tudo que é postado?

 

Outra coisa, como poderia verificar se o servidor suporta esses caracteres? seria somente entrando em contato via e-mail ou teria algum comando para isso?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

vocÊ deve um script que verifique qual a codificação real dos dados

 

no seu caso, o phpmyadmin consegue exibir os caracteres proque possui esse recurso

 

pesquise sobre funções de multibyte string no manual do php

 

http://php.net/mbstring

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se a página é UTF8, você facilitaria e agiliaria o trabalho criando o banco de dados em UTF8, o PHPMyAdmin normalmente tem problema se você não configurar pq ele envia tudo em latim1, depois disso os dados já vão vir em UTF8, use pra cadastrar um formulário numa página com essa codificação e os dados já serão auto cadastrados assim. Você ainda pode alterar uma tabela já existente com ALTER TABLE t MODIFY col1 CHAR(50) CHARACTER SET utf8; (http://dev.mysql.com/doc/refman/5.0/en/alter-table.html), mas é melhor criar já assim. Você ainda pode deixar o banco numa codificação qualquer e modificar a codificação da comunicação entre PHP e BD com mysql_set_charset('utf8', $conexao) (http://br.php.net/manual/pt_BR/function.my...set-charset.php / http://dev.mysql.com/doc/refman/5.1/en/cha...-charsets.html), e assim todos os dados que receber serão UTF-8, mas certifique-se que também está enviando tudo em UTF-8.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, consegui resolver meu problema e venho aki para compartilhar com todos ^_^

 

Utilizei os comandos:

 

mysql_query("SET NAMES 'UTF8'");

mysql_query("set CHARACTER set 'utf-8'");

 

logo após a conexão com o BD e funcionou perfeitamente tudo, agora tudo q é gravado no BD está em UTF-8 assim como tudo q está sendo exibido está em UTF-8

 

Fazendo isso resolvi meus problemas e não precisei usar mais nenhum comando como encode ou decode

 

Obrigado Hinom e Wanderson por esclarecerem minhas dúvidas :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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