Ir para conteúdo

POWERED BY:

Arquivado

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

Lúcio Gomes

100% UTF-8 - ASP, MySQL, Js/ajax, HTML

Recommended Posts

Olá pessoal. Como o UTF-8 é um padrão internacional, com uma compatibilidade muito maior (universal), decidi alterar toda minha aplicação de ISO-8859-1 para UTF-8, conforme li em vários tópicos aqui do fórum e artigos pela web.

 

Criei o banco de dados em UTF-8, em minhas páginas asp, inseri o Response.Charset="utf-8", nas páginas html coloquei o <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> e também converti os arquivos para codificação UTF-8 (sem BOM) - antes eram ANSI.

 

E testei, inseri registros, alterei, exibi, conteúdo dinâmico e conteúdo texto simples e tudo exibiu perfeitamente.

 

A única dúvida que eu fiquei, é que no banco de dados ele insere os registros: Observação

E daí quando exibe na página, daí é interpretado corretamente: Observação.

 

E então, é assim mesmo? Pois eu testei também inserir no banco a palavra acentuada, mas daí sim exibe incorretamente. Enfim, gostaria de saber sobre esse detalhe? Pois sei que não é a mesma linguagem, mas o Wordpress, por exemplo, é em PHP, ele é também 100% UTF-8, mas no banco de dados ele grava as palavras com acento, por isso fiquei com essa dúvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente usar o CODEPAGE tbm

 

<%@language="VBSCRIPT" codepage="65001"%>

Ted k, realmente havia esquecido desse detalhe. Agora sim, ele está gravando no banco com acentos e exibindo com acentos também.

 

Testei no request.form e está excelente mesmo, mas agora, um outro prolema que percebi num formulário de upload de arquivos que criei agora de pouco, é que com objUp.Form ele não está reconhecendo os acentos vindos do formulário.

 

Estou usando o Dundas:

set objUp = server.CreateObject("Dundas.Upload.2")

call objUp.SaveToMemory

objUp.UseVirtualDir=True

 

Estou chamando como: objUp.Form("campo_form")

E no form tem o enctype="multipart/form-data" e o campo para subir um arquivo .doc ou pdf

 

O que ele está gravando no BD (também dei um response.write no update do sql para me certificar que são os valores enviados pelo formulário):

água ao invés de Água

Canção ciência é maçã ao invés de Canção ciência é maçã

Por que será que está ocorrendo esse problema com o objUp? Não estou utilizando função de nenhum outro arquivo que esteja com codificação diferente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloka

<%@language="VBSCRIPT" codepage="65001"%>

tb, no objUp.Form

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloka

<%@language="VBSCRIPT" codepage="65001"%>

tb, no objUp.Form

 

Sim xanburzum, obrigado pela resposta, mas isso eu já havia colocado em todas as páginas, pois como uso includes, quando inseri no topo (na 1ª linha) do arquivo include, já inseriu em todas. Ah, mas testei também, sem o include e colocar no arquivo mesmo, mas continuou do mesmo jeito.

 

Achei estrando porque com o Request.Form ficou perfeito, mas agora o objUp.Form que está me atrasando. Estou pesquisando e testando outras possibilidades, mas nada, não consegui ainda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

só na parte do UPLOAD, tente esse:

 

<%@ codepage="1252" language="VBScript" %>

No upload não. Funcionou se eu colocar isso na página do formulário e converter para ANSI e colocar ISO-8859-1, daí ele envia certo para o arquivo de upload e gravação no banco. Mas não posso deixar assim,, pois esse arquivo de formulário é o mesmo que carrega informações do banco quando vai editar algum registro, daí ele carrega com caracteres especiais incorretos e também chega a ser de certa forma, uma "gambiarra"...

 

É normal ocorrer esse problema com objUp ou deve ser algum erro meu mesmo? Porque os mesmos arquivos, com os mesmos charset e codepage, se usar request form funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, tentei testar outras "combinações" de charset para ver se resolvia esse problema dos acentos, mas com objUp.Form ainda não consegui. E com Request.Form fica tudo certo. Alguém já testou e teve o mesmo problema com o objUp.Form? Ou se deu certo utilizar objUp.Form com UTF-8 e gravar/exibir corretamente palavras com acentos, poderia postar o modelo que utilizou para eu testar em meu servidor, certificar que está ok e tentar corrigir minha aplicação?

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.