Character encoding not supporting Polish characters in MySQL/PHPmyAdmin

时间:2015-05-12 22:51:49

标签: mysql database phpmyadmin

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:

enter image description here

Maybe someone knows why?

2 个答案:

答案 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数据库中存储的内容,因此在数据不正确的情况下,这意味着您的应用程序无法正确存储。如果它在您的应用程序中显示正确,则基本上意味着您无法正确插入和检索它。

相关链接: