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