MySQL:世界数据库特殊字符丢失了吗?

时间:2011-07-02 13:44:31

标签: mysql database special-characters

我正在使用MySQL世界数据库,但似乎缺少áé之类的特殊字符,它们会被?符号更改:

enter image description here

这是我的错吗?或者是以这种方式设计的数据库,只是因为我查看了world.sql文件,我发现有些字符丢失,或者我的同伴错误:

enter image description here

正如您在此图片中看到的那样,而不是Győr,而Gyˆr和其他人也是如此。

一些信息:

我使用的是MAC OS X 10.6,我已按照这些说明http://dev.mysql.com/doc/world-setup/en/world-setup.html进行操作。然后我下载了MyISAM version of the world database

3 个答案:

答案 0 :(得分:0)

world.sql文件已经指定了带有“latin1”默认字符集的表。因此,不需要为数据库或表明确定义任何字符集。

两件事:

  1. 您使用什么编辑器查看“world.sql”?我试图在Windows7上的Notepad ++中查看并显示所有字符?所以也许你的编辑不支持拉丁字符集。

  2. 你是如何将“world.sql”导入MySQL的?

    我。如果您从文件中复制内容并直接粘贴到MySQL中,使用默认客户端或任何可用的GUI客户端,则特殊字符可能无法正确导入,因为您复制的编辑器已经丢失了它们。请尝试使用类似mysql -uXXX -hXXX -p < world.sql

    的命令从命令行直接导入MySQL

    II。如果您确实从命令行导入它,那么我相信您的内容可以使用特殊字符导入。也许你的客户,我想是黑屏幕镜头,不支持特殊字符。

  3. 因此,请调查上述两种情况中的哪一种可能正在发生。虽然我不确定如果上述两种情况都失败,是否会出现第三种情况。但我希望它有所帮助。

答案 1 :(得分:0)

也许您应该检查一下my.cnf文件? 我必须使用这些行来让MySQL与西里尔字符一起正常工作:

# [mysqld] section

skip-character-set-client-handshake
collation_server=utf8_unicode_ci
character_set_server=utf8

答案 2 :(得分:0)

在gedit / Ubuntu上,当我用 Western(ISO-8859-15)打开它时,它会正确显示特殊字符。

早些时候,我遇到了同样的问题,我让gedit自动检测编码,用?替换了特殊字符。我也试过UTF-8给了我一个错误。

因此,如果您的编辑器具有此设置,我指定的编码也适用于您。