Armazenar caracteres especiais em banco de dados
-
11-09-2019 - |
Pergunta
Alguém pode fornecer algumas das melhores práticas ao armazenar caracteres especiais, como a marca (tm ou r) ou de direitos autorais (c)? Eu estou armazenando-os em um campo varchar com outro texto no SQL Server, e exibir em uma página ASP.NET. Neste momento estamos a armazenar o próprio carácter especial e exibindo isso.
Obrigado por qualquer ajuda!
Solução
Basta usar as entidades HTML, como ™
e ©
se você puder.
Não há necessidade de mudar para nvarchar menos que você tenha um requisito explícito para apoiar Unicode.
Outras dicas
Eu estou armazenando-os em um campo varchar ...
Há um problema, pelo menos. Para texto que poderia ter caracteres "especiais", você precisa nvarchar
.
Bem, com esses personagens, geralmente você irá torná-los como
©
Assim você não precisa fazer nada de especial no DB, mas você deve estar usando o "N" campos -prefixed para cordas DB, NChar, NVarChar, e assim por diante.
Este, por uma questão antiga, mas que merece uma nova resposta: use UTF-8. Browsers, bancos de dados e servidores web agora todo o suporte UTF-8 que significa que você não tem que codificar caracteres especiais (exceto como discutido aqui , e em seguida, apenas na saída).
Há algumas excelentes razões para não codificar dados em seu banco de dados em esta resposta .