Depuração de codificações e conjuntos de caracteres.

Texto distorcido na tela?

  1. Coloque seus dados em um arquivo de texto simples (usando o vim – você não quer BOMs em seus dados!)
  2. use o comando hexdump -C arquivo
  3. localize os caracteres estranhos e determine o byte (sequências)
  4. procure-os, por exemplo, aqui: tabela utf8 charset (alemão)

Um exemplo, o trema alemão ü (“ue”):

A codificação utf8 correta é (você veria c3 bc no hexdump):

U+00FC  ü  c3 bc   LATIN SMALL LETTER U WITH DIA.

Uma sequência de caracteres UTF-8 válida que é exibida de forma idêntica, mas não é um “ü” (novamente, 75 cc 88 no hexdump):

U+0075  u   75      LATIN SMALL LETTER U
U
+0308 ̈ cc 88 COMBINING DIAERESIS