I have an MySQL database that has some Polish characters in it showing as utf8_unicode_ci
instead of letters like "ł, ą, ć, etc".
I have changed the collation to ?
and utf8_unicode_ci
.
I have also tried this on the table
utf8_polish_ci
and still nothing.
My table still looks like this:
Maybe someone knows why?
答案 0 :(得分:1)
有2种可能性
1)你的专栏没有正确改变。使用以下查询。
ALTER TABLE miasta
CHANGE nazwa_miasta
nazwa_miasta
TEXT CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
2)插入时检查字符串。如果在插入过程中字符串不在utf8中,则会产生问题。所以首先在utf8中转换它(http://php.net/manual/en/function.mb-convert-encoding.php)然后插入。
答案 1 :(得分:1)
这可能是您插入数据的一个因素。 @bski写的问题的答案在这里会有所帮助。什么应用程序插入数据?是什么字符集用于连接?
您很可能没有在应用程序中设置字符集,或者设置错误。在初始化连接时发出SET NAMES 'UTF8';
之类的命令,看看是否能改善存储的数据。
phpMyAdmin本身可以正常使用UTF数据并且几乎可以显示MySQL数据库中存储的内容,因此在数据不正确的情况下,这意味着您的应用程序无法正确存储。如果它在您的应用程序中显示正确,则基本上意味着您无法正确插入和检索它。
相关链接: