Ir para conteúdo

POWERED BY:

Arquivado

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

mmalainho

Qual o melhor charsert?

Recommended Posts

Qual o charset mais adequando a :

 

website em: Portugues, Ingles, Russo e Chines?

 

base dados: Mysql

 

Linguagem: ASP

 

 

 

obrigado

Mmalainho

Compartilhar este post


Link para o post
Compartilhar em outros sites

Geralmente no MySQL eu defino um collation padrão. No Brasil o Latin1 é o mais utilizado, então o CHARSET (codificação de caracteres) padrão em vários hosts é o Latin1 e o COLLATE (collation) padrão é o latin1_general_ci. Scripts externos podem utilizar UTF8 e geralmente é por causa da diferença de codificação entre Latin1 e UTF8 que ocorrem erros de acentuação.
A seguir estão alguns exemplos para definir um collation padrão para a sua base de dados:

 

ALTER DATABASE `sua_base` CHARSET = Latin1 COLLATE = latin1_swedish_ci;

ou

 ALTER DATABASE `sua_base` CHARSET = UTF8 COLLATE = utf8_general_ci;

CHARSET e COLLATE são coisas distintas, no MySQL, cada CHARSET possui COLLATEs, cada um com sua particularidade. O intuito deste Wiki não é explicar as características de cada um deles, pois pode ser visto da documentação do MySQL, mas daremos um pequeno descritivo entre latin1_general_ci, latin1_general_cs e latin1_swedish_ci.

  • latin1_general_ci: Não há distinção entre letras maiúsculas e minúsculas. Buscando por “teste”, registros como “Teste” ou “TESTE” serão retornados.
  • latin1_general_cs: Distingue letras maiúsculas e minúsculas. Buscando por “teste” somente retornará “teste”. Opções como “Teste” e “TESTE” não serão retornadas.
  • latin1_swedish_ci: Não distingue letras minúsculas e maiúsculas e nem caracteres acentuados e com cedilha, ou seja, o registro que contém a palavra “Intuição” será retornado quando houver uma procura pela palavra “intúicao”.

Quando você estiver exportando os dados da sua base de dados de origem, certifique-se de estar especificando a codificação corretamente. No phpMyAdmin há um menu DropDown próximo às opções de compactação ‘nenhum’, ‘zip’, ‘gzip’ e ‘bzip’ que normalmente está selecionada a opção ‘utf-8’. Mantenha este se sua base estiver com este CHARSET, do contrário, especifique ‘iso-8859-1’ caso ela esteja com o CHARSET Latin1.Faça o mesmo durante a importação. Ao enviar o arquivo, o menu DropDown estará como ‘utf-8’, se o CHARSET da base for ‘Latin1’ escolha o ‘iso-8859-1’.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok obrigado pela sua resposta, ajudou a esclarecer alguns pontos.

 

normalmente uso CHARACTER SET utf8 COLLATE 'utf8_general_ci'

 

Quereia perceber se é o mais indicado para guardar na base dados textos em ingles, russo e chines.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se caso ele não ficar legal, ou seja com os acentos ilegíveis, use o Response.CharSet = "ISO-8859-1".

 

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"
Response.Charset="ISO-8859-1" %>


E no cabeçalho do site coloque a meta tag <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

Compartilhar este post


Link para o post
Compartilhar em outros sites
ISO-8859-1 de modo algum é recomendável para russo e tampouco chinês

Para chines, o uso do Big5 ou gb2312.

No entanto, atualmente os browsers reconhecem também o UTF-8 para chinês.

 

Em Russo, ídem.

 

Um aspecto importante, sobre os caracteres chineses, o charset mais adequado seria o conjunto UTF-16, todavia o UTF-8 é suficiente.

 

 

No Banco de dados aplique:

CHARACTER SET utf8 COLLATE 'utf8_general_ci'

 

O mesmo se aplica ao cabeçalho vbscript e meta tage html

Compartilhar este post


Link para o post
Compartilhar em outros sites

No poste #4 sugeri para páginas em pt-br, eu ao inves de usar o Big5 uso o Code page 950 que é a implementação da Microsoft para o padrão Big5 . A principal diferença entre o Code page 950 e Big5 é a incorporação de alguns Eten caracteres de F9D6-F9FE (碁,锈,里,墙,恒,妆, e娴) e 34 caracteres de caixa de desenho e elementos de bloco . Ele foi atualizado em 2000, com a adição do símbolo do euro (€), em 0xA3E1.ui está uma lista parcial dos conjuntos de caracteres mais freqüentemente utilizados para páginas da Web em várias línguas:

 

codificação de caracteres comuns

ISO 646
ASCII
EBCDIC
CP37
CP930
CP1047
ISO 8859 :
ISO 8859-1 Europa Ocidental
ISO 8859-2 Europa Ocidental e Central
ISO 8859-3 Europa Ocidental e do Sul da Europa (Turco, maltês mais Esperanto)
ISO 8859-4 Europa Ocidental e os países bálticos (Lituânia, Estónia, Letónia e Lapp)
ISO 8859-5 alfabeto cirílico
ISO 8859-6 árabe
ISO 8859-7 grego
ISO 8859-8 hebraico
ISO 8859-9 Europa Ocidental, com conjunto de caracteres alterada Turco
ISO 8859-10 Europa Ocidental, com conjunto de caracteres racionalizada para línguas nórdicas, incluindo conjunto islandês completa
ISO 8859-11 Thai
ISO 8859-13 línguas bálticas mais polonês
ISO 8859-14 Celtic línguas (gaélico irlandês, escocês, galês)
ISO 8859-15 Adicionado o sinal de Euro e racionalizações outros para ISO 8859-1
ISO 8859-16 Central, Oriental e línguas do sul da Europa (albanês, croata, húngaro, polaco, romeno, sérvio e esloveno, mas também francês, gaélico alemão, italiano e irlandês)
CP437 , CP737 , CP850 , CP852 , CP855 , CP857 , CP858 , CP860 , CP861 , CP862 , CP863 , CP865 , CP866 , CP869
MS-Windows conjuntos de caracteres :
Windows-1250 para idiomas da Europa Central que utilizam alfabeto latino, (polaco, checo, eslovaco, húngaro, esloveno, sérvio, croata, romeno e albanês)
Windows-1251 para alfabetos cirílico
Windows-1252 para as línguas ocidentais
Windows 1253 para o grego
Windows 1254 para Turco
Windows 1255 para o hebraico
Windows 1256 para o árabe
Windows-1257 para línguas bálticas
Windows 1258 para vietnamita
Mac OS Roman
KOI8-R , KOI8-U , KOI7
MIK
ISCII
TSCII
VISCII
JIS X 0208 é uma norma amplamente utilizados para a codificação de caracteres japoneses que tem formas de codificação de vários.
Shift JIS (Microsoft página de código 932 é um dialeto do Shift_JIS)
EUC-JP
ISO-2022-JP
JIS X 0213 é uma versão estendida do JIS X 0208.
Shift_JIS-2004
EUC-JIS-2004
ISO-2022-JP-2004
Chinês Guobiao
GB 2312
GBK (página Microsoft Código 936)
GB 18030
Taiwan Big5 (uma variante mais famosa é o Code page 950 )
Hong Kong HKSCS
Coreano
KS X 1001 é um coreano de byte duplo padrão de codificação de caracteres
EUC-KR
ISO-2022-KR
Unicode (e subconjuntos das mesmas, tais como o 16-bit "Basic Multilingual Plane"). Veja UTF-8
ANSEL ou ISO / IEC 6937

 

ou ao inves de usar o Big5 use o Code page 950 que é a implementação da Microsoft da de facto padrão Big5 . A página de código não está registrado com IANA [1] , e, portanto, não é um padrão de comunicação de informações através da internet. A principal diferença entre o Code page 950) e Big5 é a incorporação de alguns Eten caracteres de F9D6-F9FE (碁,锈,里,墙,恒,妆, e娴) e 34 caracteres de caixa de desenho e elementos de bloco . Ele foi atualizado em 2000, com a adição do símbolo do euro (€), em 0xA3E1.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lido mercado asiático há 9 anos.

 

O big5 ou 950 não são mais adequados. Estão em desuso há mais de 6 anos.

 

A efeito comparativo, estão em desuso como o SJIS e o EUC_JP usados antigamente para idioma japonês. Inclusive os charsets coreanos koi* e *KR. Diversos outros da tabela acima também estão em desuso.

 

Alguns japoneses ainda teimam em continuar usando até mesmo o EUC_JP, que está em desuso desde 2001. Assim como muitos brasileiros ainda insistem em usar iso-8859-1.

O iso-8859-1 não está em desuso, porém, não é adequado para os usuários de idiomas multibyte, os quais representam mais da metade do planeta.

 

O UTF8 é o charset padrão para internacionalização.

 

Para português, UTF8.

 

O padrão Latin ISO-8859-1 não é adequado mesmo para o português, pois é útil somente para os de língua portuguesa e que suporte esse formato.

 

Como exemplo, um chinês que acessa uma página do Brasil com charset iso-8859-1, não consegue ler os caracteres acentuados e cedilha.

O inverso também ocorre.

 

Exemplo de website internacionalizado

 

http://www.microsoft.com/pt-br/default.aspx (Brasileiro)

http://www.microsoft.com/ja-jp/default.aspx (Japonês)

http://www.microsoft.com/zh-cn/default.aspx (Chinês)

http://www.microsoft.com/ar-iq/default.aspx (Árabe)

 

Ambos usando <meta charset="utf-8" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

então como você tem experiência no mercado asiático, você aconselha o UTF-8

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entre 2003 e 2005 que foi a época da transição, digamos, do "boom" do utf8, ainda haviam problemas de compatibilidade principalmente com os chineses, então muitos ainda continuaram receosos e mantiveram o big5.

 

No entanto, de 2006 em diante o utf8 já estava com amplo suporte, inclusive para IE6 sob Windows XP.

 

Pode-se usar UTF8 para todo tipo de idioma multibyte como Grego, Tcheco, Hindu, Árabe, Ásia geral, Russo, etc.. Até mesmo o Sânscrito.

 

 

Alguns recorrem ao HTMLentities como solução, o que também é errôneo.

Exemplo de uso inadequado do HTMLEntities:

Texto original: मुखपृष्ठ

resultado:

%E0%A4%AE%E0%A5%81%E0%A4%96%E0%A4%AA%E0%A5%83%E0%A4%B7%E0%A5%8D%E0%A4%A0

http://hi.wikipedia.org/wiki/मुखपृष्ठ

 

O Wikipedia é o melhor exemplo de uso adequado de charset.

Utiliza UTF8.

Wikipedia nada mais é do que o maior site do mundo multi-idiomas. É o 5º maior site do mundo.

 

 

Outro caso

Um usuário de idioma nativo multibyte quando acessa uma página brasileira com charset não internacionalizado, enxerga a página assim:

 

ação -> a□□o ou a??o ou a? 

 

Exceto para os sites que usam a gambiarra com HTMLEntities, também desaconselhável, conforme mencionado acima.

 

Por isso, mesmo que o site seja apenas em português, utilize o charset "internacionalizado" UTF8.

Mesmo que seja um site em inglês, utilize UTF8.

 

 

Alguns ainda argumentam o não uso do UTF8 para idiomas romanizados, justificando que UTF8 ocupa 2 vezes mais bytes..

O UTF8 ocupa 4 bytes por caracter, no entanto, é algo irrelevante, afinal, o que é mais importante? O a concepção de algo "impercetivelmente" mais leve ou a acessibilidade ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que vou fazer é recuperar o response.charset e o LCID e em cima disto atribuir a codificação ideal

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.