【发布时间】:2013-05-31 22:03:29
【问题描述】:
我是数据库方面的初学者,所以请多多包涵。我正在尝试建立一个数据库并从文件tables.sql 中导入一些表。 tables.sql 中的一些列中有瑞典字母(Ä,Ö),问题是我得到以下信息:
Ä = ä
Ö=ö
首先我开始检查服务器的字符集:
mysql> 显示像 'character_set_server' 这样的变量;
服务器配置为字符集“Latin-1”。我必须提到,除了创建数据库之外,我无法控制服务器。所以我想我必须创建我的数据库并指定数据库的字符集。
我是这样进行的:
mysql> 创建数据库db;
mysql> alter database db character set utf8 collate utf8_swedish_ci;
我通过执行仔细检查了我的 tables.sql 有 charset utf-8:
文件-bi allsok_tables.sql
然后我通过以下方式将其加载到数据库中:
$ mysql -u [用户名] -h [主机名] -P [端口] -p db
当我在 tables.sql 中创建表时,我使用 engine = InnoDB(不知道这是否相关)。但是,如果我现在从 TableTest 表中选择所有内容
mysql> select * from TableTest
我得到了这些奇怪的字符而不是瑞典字符。我很感激现在的任何帮助。
提前致谢!
更新:
如果我手动将一个值插入到表中,它会起作用,例如
mysql> 插入 TableTest 值 ('åäö');
所以问题似乎出在 .sql 文件上。对吧?
【问题讨论】: