Collation( codificação de caracteres ) no MS SQL Server

Porque as páginas que acessam o banco de dados estão exibindo caracteres estranhos ?

Para resolver problemas de acentuação com aplicações em PHP, Java e outras linguagens não-Microsoft que utilizam o SQL Server, consulte antes Resolvendo problemas de acentuação em PHP / Java e SQL Server

Isto ocorre devido ao fato da sua base de dados local utilizar um collation diferente do collation padrão da Locaweb (SQL_Latin1_General_CP850_CI_AI).

Nestes casos, é necessário que você altere o collation da sua base na Locaweb para o mesmo collation utilizado na sua base local e efetue uma nova exportação dos dados.

Para verificar qual é o collation utilizado na sua base de dados local, execute o comando sp_helpdb e verifique no campo status o item collation.

Para alterar o collation da sua base na Locaweb, basta executar as instruções abaixo.

 

 

ALTER DATABASE <nome_banco> SET SINGLE_USER WITH ROLLBACK IMMEDIATE; ALTER DATABASE <nome_banco> COLLATE <novo_collation>; ALTER DATABASE <nome_banco> SET MULTI_USER;

 

  • Como alterar o collation do campo de uma tabela.

 

ALTER TABLE <tabela> ALTER COLUMN <campo> <tipo_de_dado> COLLATE <novo_collation>;

 

  • Como verificar o collation atual da sua base.

 

SP_HELPDB <sua_base>;

Verifique na coluna Status o Collation

Em caso de dúvidas sobre qual collation utilizar verifique a Documentação Oficial

Observações:

  • Lembre-se de remover os sinais de maior (>) e menor (<).
  • A alteração de collation da base somente afeta os novos objetos criados, as tabelas já existentes permanecerão com o collation anterior.
  • Na Videobes, inicialmente, todas as bases são habilitadas usando o collation SQL_Latin1_General_CP850_CI_AI.