Ir para conteúdo
Fórum Script Brasil
  • 0

Como Resolver Problemas Em Acentuação Em Páginas Utf8 Usando Php + Mys


Spyder.RV

Pergunta

Galera, estou desenvolvendo sites usando utf8 e estou passando por uns perrengues em caracteres acentuados...

Tá funfando de boa, só quando pego os dados do mysql é que a acentuação não tá funfando. Coloquei abaixo um pedaço do DDL da minha base de dados. Dá pra ver que tá toda em utf8, então porquê o PHP não tá processando a acentuação corretamente?

-- phpMyAdmin SQL Dump
-- version 2.9.0.2
-- http://www.phpmyadmin.net
-- 
-- Host: localhost
-- Generation Time: Jul 30, 2007 at 10:57 AM
-- Server version: 4.1.22
-- PHP Version: 4.4.2
-- 
-- Database: `mysqldb`
-- 
CREATE DATABASE `mysqldb` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
USE `mysqldb`;

-- --------------------------------------------------------

-- 
-- Table structure for table `clientes`
-- 

CREATE TABLE `clientes` (
  `idCliente` int(11) unsigned NOT NULL auto_increment,
  `razaoCliente` varchar(80) collate utf8_unicode_ci NOT NULL default 'CLIENTE TESTE',
  `linkCliente` varchar(80) collate utf8_unicode_ci default NULL,
  `logoCliente` varchar(80) collate utf8_unicode_ci default NULL,
  PRIMARY KEY  (`idCliente`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=12;

-- 
-- Dumping data for table `clientes`
-- 

INSERT INTO `clientes` VALUES (1, 'XXX - Cliente número 01', 'http://linkcliente.com.br', 'logomarca001.gif');
INSERT INTO `clientes` VALUES (2, 'XXZ - Cliente número 02', 'http://linkcliente2.com.br', 'logomarca002.gif');

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

você não precisa ficar toda hora especificando a codificaçao

cria a table assim

CREATE TABLE CLIENTE(
IDCLIENTE INT(10) AUTO_INCREMENT,
NOME VARCHAR(80),
END VARCHAR(80),
...
PRIMARY KEY (IDCLIENTE))

INSERT INTO CLIENTE (NOME,END) VALUES ('CLIENTE TESTE','RUA TAL')

TESTA AI ASSSIM porque A CODIFICAÇÃO já TA CONFIGURADO NO MYSQL AI você não PRECISA DIZER que E UTF8

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, no topo das páginas que receberem os dados do MySQL, coloque o seguinte header:

header("Content-Type: text/html; charset=UTF-8",true);

Isso modificará a codificação da página e os caracteres deverão exibidos corretamente!

Editado por Lvcifer!
Link para o comentário
Compartilhar em outros sites

  • 0
Cara, no topo das páginas que receberem os dados do MySQL, coloque o seguinte header:

header("Content-Type: text/html; charset=UTF-8",true);

Isso modificará a codificação da página e os caracteres deverão exibidos corretamente!

Caro Lvcifer,

Meus headers já estão todos assim, mas o problema persiste

Link para o comentário
Compartilhar em outros sites

  • 0

E no HTML, como está?

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

Bom já aconteceu isso comigo uma vez e eu tive duas soluções para o problema:

1. Converter para ISO-8859-1

2. Definir o cabeçalho no httpd.conf (no apache)

Para a primeira solução: utf8_decode(string)

para a segunda: Coloquei o charset para o diretório inteiro no apache

T+

André

Link para o comentário
Compartilhar em outros sites

  • 0
E no HTML, como está?

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

Bom já aconteceu isso comigo uma vez e eu tive duas soluções para o problema:

1. Converter para ISO-8859-1

2. Definir o cabeçalho no httpd.conf (no apache)

Para a primeira solução: utf8_decode(string)

para a segunda: Coloquei o charset para o diretório inteiro no apache

T+

André

Valeu, consegui resolver mantendo o UTF-8..

você postou sobre a função utf8_decode que decodificaria para ISO... então eu tentei a utf8_encode e deu certo... foi no chute total, mas advinhações e profecias também fazem parte da programaçao :lol: :D ^_^

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...