mysql将文本文件导入到数据库表中出现的显示不正常的问题

时间:2021-10-24 07:56:49
mysql数据库;
在命令行中使用load data local infile "*.txt" into table tableName;语句将外部txt文件内的数据导入到表中后,查询表内容其中一列显示不正常,而使用sqlyog查询该表,发现表中的数据并没有错误。请看下面的数据。
命令行中的数据:
+---------------+----------------+
| City          | Name           |
+---------------+----------------+
       |n       | Celtics
          |     | Nets
        |k      | Knicks
         |phia  | 76ers
       |o       | Raptors
         |      | Bulls
     |eland     | Cavaliers
sqlyog中的数据:
City Name
Boston Celtics
*lyn Nets
New York Knicks
Philadelphia 76ers
Toronto Raptors
Chicago Bulls
Cleveland Cavaliers
可见City列的那行数据在命令行用select语句查询出来后的结果显示的不正常。这是为什么呢?

9 个解决方案

#1


同求,我也有一个表有这种状况。虽然不影响使用。但看的很变扭!

#2


检查一下字符集设置。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

#3


还是编码问题
set names 'gbk';

#4


引用 2 楼 ACMAIN_CHM 的回复:
检查一下字符集设置。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

不是中文乱码的问题,导进去的是全英文数据

#5


引用 4 楼 Isildur2010 的回复:
Quote: 引用 2 楼 ACMAIN_CHM 的回复:

检查一下字符集设置。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

不是中文乱码的问题,导进去的是全英文数据

贴下你的表结构看看是否和之前一样

#6


引用 4 楼 Isildur2010 的回复:
Quote: 引用 2 楼 ACMAIN_CHM 的回复:

检查一下字符集设置。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

不是中文乱码的问题,导进去的是全英文数据
是让你按其中的方法检查字符集并贴出结果。

#7


引用 6 楼 ACMAIN_CHM 的回复:
Quote: 引用 4 楼 Isildur2010 的回复:

Quote: 引用 2 楼 ACMAIN_CHM 的回复:

检查一下字符集设置。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

不是中文乱码的问题,导进去的是全英文数据
是让你按其中的方法检查字符集并贴出结果。

mysql> show create table team;
+-------+---------------------------------------------------------
----------------------------------------------------------+
| Table | Create Table
                                                          |
+-------+---------------------------------------------------------
----------------------------------------------------------+
| team  | CREATE TABLE `team` (
  `City` varchar(20) DEFAULT NULL,
  `Name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+---------------------------------------------------------
----------------------------------------------------------+
1 row in set (0.00 sec)

#8


mysql> show variables like 'char%';
+--------------------------+----------------------------------------------------
------------------------------+
| Variable_name            | Value
                              |
+--------------------------+----------------------------------------------------
------------------------------+
| character_set_client     | gbk
                              |
| character_set_connection | gbk
                              |
| character_set_database   | utf8
                              |
| character_set_filesystem | binary
                              |
| character_set_results    | gbk
                              |
| character_set_server     | utf8
                              |
| character_set_system     | utf8
                              |
| character_sets_dir       | D:\program files\mysql-noinstall-5.1.58-win32\mysql
-5.1.58-win32\share\charsets\ |
+--------------------------+----------------------------------------------------
------------------------------+
8 rows in set (0.00 sec)

#9


楼主是否已有答案,同求

#1


同求,我也有一个表有这种状况。虽然不影响使用。但看的很变扭!

#2


检查一下字符集设置。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

#3


还是编码问题
set names 'gbk';

#4


引用 2 楼 ACMAIN_CHM 的回复:
检查一下字符集设置。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

不是中文乱码的问题,导进去的是全英文数据

#5


引用 4 楼 Isildur2010 的回复:
Quote: 引用 2 楼 ACMAIN_CHM 的回复:

检查一下字符集设置。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

不是中文乱码的问题,导进去的是全英文数据

贴下你的表结构看看是否和之前一样

#6


引用 4 楼 Isildur2010 的回复:
Quote: 引用 2 楼 ACMAIN_CHM 的回复:

检查一下字符集设置。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

不是中文乱码的问题,导进去的是全英文数据
是让你按其中的方法检查字符集并贴出结果。

#7


引用 6 楼 ACMAIN_CHM 的回复:
Quote: 引用 4 楼 Isildur2010 的回复:

Quote: 引用 2 楼 ACMAIN_CHM 的回复:

检查一下字符集设置。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
MySQL 中文显示乱码

不是中文乱码的问题,导进去的是全英文数据
是让你按其中的方法检查字符集并贴出结果。

mysql> show create table team;
+-------+---------------------------------------------------------
----------------------------------------------------------+
| Table | Create Table
                                                          |
+-------+---------------------------------------------------------
----------------------------------------------------------+
| team  | CREATE TABLE `team` (
  `City` varchar(20) DEFAULT NULL,
  `Name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+---------------------------------------------------------
----------------------------------------------------------+
1 row in set (0.00 sec)

#8


mysql> show variables like 'char%';
+--------------------------+----------------------------------------------------
------------------------------+
| Variable_name            | Value
                              |
+--------------------------+----------------------------------------------------
------------------------------+
| character_set_client     | gbk
                              |
| character_set_connection | gbk
                              |
| character_set_database   | utf8
                              |
| character_set_filesystem | binary
                              |
| character_set_results    | gbk
                              |
| character_set_server     | utf8
                              |
| character_set_system     | utf8
                              |
| character_sets_dir       | D:\program files\mysql-noinstall-5.1.58-win32\mysql
-5.1.58-win32\share\charsets\ |
+--------------------------+----------------------------------------------------
------------------------------+
8 rows in set (0.00 sec)

#9


楼主是否已有答案,同求