在将天气数据导入MySQL数据库表时,发现使用SELECT查询后,繁体中文部分显示乱码。以下是导入数据及解决方案。

数据导入过程

首先,我们准备了如下格式的天气数据,存放在”test.txt”文件中:

2008-10-29T00:00:00+08:00;2008-10-30T00:00:00+08:00;部分時間有陽光,初時有一兩陣微雨。;25;29;70;90;東風4級,離岸間中5級。
2008-10-30T00:00:00+08:00;2008-10-31T00:00:00+08:00;多雲,有幾陣雨。;26;28;80;95;東風4至5級。
2008-10-31T00:00:00+08:00;2008-11-01T00:00:00+08:00;大致多雲,有幾陣雨。;26;29;80;95;東風4級,間中5級。

通过以下SQL命令将数据导入weather表:

LOAD DATA LOCAL INFILE 'test.txt' INTO TABLE weather FIELDS TERMINATED BY ';';

问题描述

数据导入成功后,使用SELECT查询时,发现繁体中文显示为乱码。这是由于MySQL字符集设置不匹配导致的。

解决方案

检查MySQL当前字符集配置,执行命令:

SHOW VARIABLES LIKE 'character_set_%';

结果显示,默认字符集为latin1,这会导致中文显示异常。为解决此问题,需更改字符集配置。在命令行中连接MySQL并执行:

SET NAMES 'latin1';

重新查询weather表后,繁体中文可以正常显示:

SELECT * FROM weather;

通过上述方法,可以有效解决导入中文数据后的乱码问题。