ラケシュ12345
Correto?
Provavelmente o que aconteceu quando INSERTing foi
- Você acertou a codificação utf8 para os dados e
- SET NAMES latin1 -- por padrão ou por engano, e
- A coluna (ou tabela) em que o texto foi armazenado foi declarada com
CHARACTER SET latin1
, novamente possivelmente por padrão.
Você pode verificar se os dados estão armazenados corretamente fazendo
SELECT col, HEX(col) ...
Se você buscar essa string, o hexadecimal será
E383A9E382B1E382B7E383A5EFBC91EFBC92EFBC93EFBC94EFBC95
. Observe como existem grupos de 6 hexadecimais, iniciando E383
no caso de Katakana ou EFBC
para os "dígitos de largura total". Assumindo que a tabela ainda diz latin1, nenhum dado é perdido e o 2-step ALTER irá corrigi-lo. Resumindo:
ALTER TABLE Tbl MODIFY COLUMN col VARBINARY(...) ...;
ALTER TABLE Tbl MODIFY COLUMN col VARCHAR(...) ... CHARACTER SET utf8 ...;
onde os comprimentos são grandes o suficiente e os outros "..." têm o que mais (NOT NULL, etc) já estava na coluna.
(Eu não poderia dar uma resposta clara e completa a essa pergunta até muito recentemente.)