Olá,bom dia a todos!
Bom, esse é um problema comum para quem está usando o método INSERT do mysql através de algum campo textarea no HTML; quando tentamos inserir algo com acentos no banco de dados tudo certo, porém quando vamos ler os acentos fica tudo errado!
Se esse for o seu caso, calma, a solução é fácil, vamos lá:
1º passo - O HTML
Deixe o "head" da sua página como abaixo:
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
2º passo - O SELECT
Quando for capturar os dados com ou sem acentos do banco de dados use o seguinte:
htmlspecialchars_decode(htmlentities($variavel_com_o_select));
Complicado não?
Bom, qualquer coisa é só gritar!!!
7 curiosos opinantes:
Perdi muito tempo procurando. Finalmente achei!!
Extremamente Fácil.
Valeu, Fábio.
Jorge Araujo
kd o feed do blog ?
Interessante Fábio, mas ao invés de usar o ISO-8859-1 é melhor usar o UTF-8 porque é universal e é o mais utilizado na web.
Quanto ao problema de acentuação no banco de dados, não vejo porque essa preocupação, o importante é como os dados são exibidos para o usuário e não diretamente no banco.
Esse post foi para resolver um problema de uma lista que participo foi até o primeiro comentário o Jorge, realmente o modo de codificação melhor para se usar é o UTF-8
Não costumo comentar em blogs, mas você foi de grande ajuda pra mim.
Explicação simples e fácil. Parabéns.
Nusss cara procurei isso um tempão, valeu mesmo
Poderia me ajudar nesse caso:
--
-- Estrutura da tabela `formulario`
--
CREATE TABLE IF NOT EXISTS `formulario` (
`id` int(11) NOT NULL default '0',
`online` char(1) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Extraindo dados da tabela `formulario`
--
INSERT INTO `formulario` (`id`, `online`) VALUES
(1, '1');
-- --------------------------------------------------------
--
-- Estrutura da tabela `pedidos`
--
CREATE TABLE IF NOT EXISTS `pedidos` (
`id_pedido` int(5) NOT NULL auto_increment,
`nome` varchar(50) NOT NULL default '',
`cidade` varchar(50) NOT NULL default '',
`tipo` varchar(10) NOT NULL default '',
`pedido` longtext NOT NULL,
`data` varchar(10) NOT NULL default '',
`hora` varchar(10) NOT NULL default '',
PRIMARY KEY (`id_pedido`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=15 ;
--
-- Extraindo dados da tabela `pedidos`
--
INSERT INTO `pedidos` (`id_pedido`, `nome`, `cidade`, `tipo`, `pedido`, `data`, `hora`) VALUES
(12, 'Luri', 'Osasco/SP', 'Recado', 'meuu, beijooo. te amo amor! manda uma musica ai pra mim bonita em! ;)', '19/10/2010', '12:16'),
(13, 'Matheus', 'Cidade - UF', 'Música', '', '19/10/2010', '13:25');
-- --------------------------------------------------------
--
-- Estrutura da tabela `usuarios`
--
CREATE TABLE IF NOT EXISTS `usuarios` (
`id` int(11) NOT NULL auto_increment,
`nome` varchar(50) NOT NULL default '',
`nivel` varchar(50) NOT NULL default '',
`login` varchar(50) NOT NULL default '',
`senha` varchar(50) NOT NULL default '',
`email` varchar(50) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Extraindo dados da tabela `usuarios`
--
INSERT INTO `usuarios` (`id`, `nome`, `nivel`, `login`, `senha`, `email`) VALUES
(1, 'Administrador', '1', 'admin', 'admin', 'admin@admin.com'),
(2, 'Locutor', '2', 'locutor', 'locutor', 'locutor@locutor.com');
Postar um comentário