Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kim sue il

Converter variável do tipo "ASCII" para "ISO-8859-1" o

Recommended Posts

Meu banco de dados está com charset "Latin1_General_CI_AS", a página está em ISO-8859-1 (pelo que li, está correto, de acordo com pesquisas que fiz na interet ISO-8859-1 é mesma coisa que Latin1...). No entanto, os resultados que busco no banco de dados, estao vindo para mim como "ASCII", já tentei de tudo para convertá-la, já busquei por todos os cantos na internet... é possível convertê-la?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então... Coloquei essa função na minha variável e retornou vazio... Quando coloquei "mb_detecting_encoding" me retornou ASCII, aí coloquei a "chr" na variável e retornou vazio... Tipo, lá no banco tem palavras como INFORMÁTICA, RECEPÇÃO, EXPEDIÇÃO, etc... e seus caracteres especiais são substituídos por "?" (INFORM?TICA, RECEP??O, EXPEDI??O, etc...)

Se eu utilizar CHR em cada letra (eu utilizei na variáve inteira), será que vai reconhecer o "?" como "?" ou será que vai reconhecer como o caracter que realmente é "Á/Ã/Ç..."

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ata entendi, seu problema são com os caracteres especiais.

 

utf8_encode

 

utf8_decode

 

O ideal seria vc configurar tudo como utf8, no banco de dados utf8_general_ci e no charset da página utf-8 também. Com isso não vai ter problemas com caracteres especiais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, infelizmente não posso editar o banco de dados (por que ele não é meu...). Já mudei o charset da página (coloquei como UTF-8 e como ISO-8859-1) e para estes dois casos tentei: variável; utf8_encode(variável); utf8_decode(variavel);

Estou a um tempão com este problema, tentei também funções como "iconv" e "mb", ambas sem sucesso... O banco de dados é SQL Server, estou usando ODBC, acha que pode ter alguma relação com a função ODBC? Ouvi falar de PDO, acha que pode resolver? Já tentei mudar o charset via PHP e também pelo meta do HTML... Já não tenho mais ideias :(

 

Desde já, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Trabalhe em sua pagina somente com UTF-8.

 

HTML 5

<meta charset="UTF-8">

HTML 4

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

E no caso use utf8_encode();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem jeito, muito estranho cara...

 

<?php

header("Content-Type: text/html; charset=UTF-8");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

 

<?php

 

//faço a consulta
$setor = utf8_encode(trim($resultado['setor']));

 

?>

E quando gravo no banco de dados, ou exibo -> INFORM?TICA

 

Quando coloco mb_detecting_encoding($setor) me retorna ASCII, não entendo o que pode estar acontecendo :(

Desde já, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentei :[

Estou alterando o charset e exibindo a variável de todas as formas que conheço, coloquei um alert no meu código, veja:

 

echo '<script type="text/javascript">alert("tipo________ : '.mb_detect_encoding($setor) .'\n"+
"variavel____ : '.$setor .'\n"+
"utf_encode : '.utf8_encode($setor) .'\n"+
"utf_decode : '.utf8_decode($setor) .'\n"+
"iconv______ : '.iconv("ISO-8859-1", "UTF-8//TRANSLIT", $setor) .'\n"+
"mb_convert : '.mb_convert_encoding($setor, "UTF-8", "ISO-8859-1").'\n");</script>';

 

Este código, com o charset em UTF-8, me retorna:

 

alert("tipo________ : ASCII\n"+
"variavel____ : INFORM?TICA\n"+
"utf_encode : INFORM?TICA\n"+
"utf_decode : INFORM?TICA\n"+
"iconv______ : INFORM?TICA\n"+
"mb_convert : INFORM?TICA\n");

 

E com o charset em ISO-8859-1, me retorna exatamente a mesma coisa :[

Desde já, obrigado...



Gostaria de agradecer à todos que ajudaram. Eu desisti da ideia, fiz de outro jeito.

Muito obrigado mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.