lgall 0 Denunciar post Postado Março 31, 2015 Olá, Sou novo no forum e estou começando a estudar mysql, e estou precisando de ajuda em um projeto meu. Estou tentando inserir (insert into) via mysql 5.5 command line client em minha tabela palavras com acento, mas esta retornando o erro incorrect string value. estou usando o seguinte CHARACTER SET utf-8 e COLLATE utf8_general_ci. Alguém pode me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Março 31, 2015 Poderia postar a query aqui? Compartilhar este post Link para o post Compartilhar em outros sites
lgall 0 Denunciar post Postado Abril 8, 2015 INSERT INTO prod (Produtos)values('Cartão'); TROQUEI A CODIFICAÇÃO DO BANCO CHARACTER SET LATIN1 e COLLATE LATIN1_SWEDISH_CI. AGORA AS PALAVRAS CADASTRADAS NO BANCO ESTÃO CORRETAS TODAS COM ACENTO. POREM QUANDO ABRO O SITE EM LOCALHOST VIA DREAMWEAVER O RESULTADO DA CONSULTA EM PHP RETORNA AS PALAVRAS COM ERROS DE ACENTUAÇÃO. JÁ SALVEI O ARQUIVO COM A CODIFICAÇÃO LATIN1 NO DREAMWEAVER, JÁ COLOQUEI A TAG META COM LATIN1, TB COLOQUEI O HEADER COM LATIN1, CONFORME LI EM OUTROS TOPICOS E NADA RESOLVEU ATÉ O MOMENTO. SERÁ QUE ALGUEM PODE ME AJUDAR? Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Abril 10, 2015 em q linguagem vc esta desenvolvendo? Compartilhar este post Link para o post Compartilhar em outros sites
lgall 0 Denunciar post Postado Abril 10, 2015 O cadastro das palavras no banco fiz pelo mysql 5.5 command line. Ultilizei a SQL para inserir dados no banco e fazer as consultas. Se eu deixar a codificação UTF8 não consigo cadastrar palavras com acento retorna o erro "incorrect string value for column", mas se eu colocar a codificação em latin1 consigo fazer o cadastro de forma correta sem dar erro. Porém quando vou exibir em meu site o resultado da consulta via dreamweaver cs5 as palavras com acento aparecem com erro. Abaixo vou colocar o script em php onde faço a consulta no banco mysql: <?php header('Content-Type: text/html; charset=latin1'); $conexão = mysql_connect("localhost","root","atalho") or die(mysql_error()); $base= mysql_select_db("grafica") or die(mysql_error()); $consulta= "select Produtos from produtos"; $resultado= mysql_query($consulta) or die(mysql_error()); $linha= 0; while ($linha < mysql_num_rows($resultado)) { $Produto = mysql_fetch_array ($resultado); echo '<option value = "">'.$Produto[0].'</option>'; $linha= $linha +1; } ?> OBS: Ja ultilizei a função mysql_client_encoding para ver a codificação que esta retornando, o resultado é latin1. O QUE PODE ESTAR ACONTECENDO? Compartilhar este post Link para o post Compartilhar em outros sites
Bri ~ 3 Denunciar post Postado Abril 10, 2015 Está acontecendo que algum lugar o charset está errado. Tente usar: <meta http-equiv="Content-Type" content="text/html; charset=latin1" /> No banco utilize: ALTER DATABASE `sua_base` CHARSET = Latin1 COLLATE = latin1_general_cs; Google tem diversas soluções, sendo que muitas funcionam... Obs: aconselho usar utf-8 Obs2: Sempre utilizo está maneira (Click).. :3 Compartilhar este post Link para o post Compartilhar em outros sites
lgall 0 Denunciar post Postado Abril 28, 2015 Bri~, desde já agradeço pela sua ajuda. As soluções que vc me apresentou já foram feitas e não deram resultado. Estou usando latin1 pois quando uso utf8, tento cadastrar uma palavra com acento no banco e retorna o erro "string value incorrect for column" só aceita palavras sem acento. Já quando uso latin1 consigo cadastrar normalmente mas o resultado da consulta é que fica errado. Você sabe me dizer porque com utf8 não consigo cadastrar palavras com acento? desde já agradeço. Olá amigos, depois de muito tentar resolvi desinstalar tudo e instalar novamente, já que eu estava fazendo tudo correto(base, editor, tabela, coluna com mesmo codificação) mas não estava resolvendo. agora após desinstalação do mysql e instalando de novo está OK. desde já agradeço pela ajuda de todos. Compartilhar este post Link para o post Compartilhar em outros sites