Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom nao consegui resolver sozinho nem achar solução na net entao aqui estou eu..
Estou fazendo uma classe para postar items em uma loja virtual. Bom. A sql suporta acentos, mas quando eu executo a query parece que eles sao automaticamente convertidos c/ htmlentities. Mas apenas se eu utilizo $this->var;
INSERT INTO `cp_store` (`id`, `description`)
VALUES ('. $this->ID. ', 'çç ÇÇ ÃÃ'.$this->Description)
O que eu escrevi entre o 'çç ÇÇ ÃÃ' é registrado normalmente na sql. Ja o $this->Description fica como çç ÇÇ ÃÃ. Eu dei um echo no $this->Description antes de passar ele para query e os acentos estavam normais.
Basicamente o codigo é esse:
mb_internal_encoding("UTF-8");
mb_http_output( "iso-8859-1" );
ob_start("mb_output_handler");
header("Content-Type: text/html; charset=ISO-8859-1",true);
class STORE {
function postItem() {
mysql_query('
INSERT INTO `cp_store` (`id`, `description`)
VALUES ('. $this->ID. ', '. $this->Description. ')
') or die(mysql_error());
return;
}
}
$vStore = new STORE;
$vStore->ID = $_GET['key_id'];
$vStore->Description = $_GET['item_desc'];
$vStore->postItem();
Bom so puis o básico do codigo.. Realmente eu nao entendo pq quando eu escrevo diretamente na query o acentos sao gravados, e quando eu passo pela variavel eles sao convertidos.. Alguem saberia o porque?
Grato.
Carregando comentários...