Komori 0 Denunciar post Postado Janeiro 27, 2008 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
hinom 5 Denunciar post Postado Janeiro 28, 2008 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
Komori 0 Denunciar post Postado Janeiro 29, 2008 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
Komori 0 Denunciar post Postado Janeiro 29, 2008 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
hinom 5 Denunciar post Postado Janeiro 30, 2008 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
Wanderson Regis Silva 0 Denunciar post Postado Janeiro 30, 2008 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
Komori 0 Denunciar post Postado Fevereiro 1, 2008 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