Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Qual é o problema com o caractere unicode 首(U+9996) e como o java/mysql lida com ele e seus amigos?


Você verificou se o valor que fica armazenado no banco de dados é realmente U+003f (ponto de interrogação)? Existem todos os tipos de convenções sobre como exibir caracteres que não existem na fonte escolhida e exibi-los como ?' é bastante comum.

Então, muito provavelmente, o caractere é armazenado corretamente e, por qualquer motivo, simplesmente é exibido como '?'. Basicamente, ignore como ele é renderizado e observe qual codepoint é armazenado no banco de dados. É U+9996 ou U+003f (ou algo totalmente diferente)? ​​Não assuma cegamente que só porque é renderizado como um ponto de interrogação, é na verdade um ponto de interrogação armazenado no banco de dados.