在将天气数据导入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;
通过上述方法,可以有效解决导入中文数据后的乱码问题。