Excel导入中文到MYSQL遇到无法导入以及导入后乱码问题

来源:互联网 发布:矩阵纵横官网 编辑:程序博客网 时间:2024/06/16 22:27

load data local infile'/Users/Sine1/Downloads/data_test.csv' into table searchingsystem.Talent fieldsterminated by ';';

将EXCEL文件转成CSV文件导入Mysql遇到的问题:

1.     csv文件只能导入英文和数字,中文导不进去,mysql的character_set_database,character_set_server原本设utf8,无法导入中文,需要将mysql中character_set_database,character_set_server改为gbk

2.     修改/etc/my.cnf时报错Warning: World-writable config file '/etc/mysql/my.cnf' is ignored,然后mysql自动设置character_set_database,character_set_server为latin1,可以导入中文,会出现乱码问题。原因是‘/etc/my.cnf’is ignored ,大概意思是权限全局可写,任何一个用户都可以写。mysql担心这种文件被其他用户恶意修改,所以忽略掉这个配置文件。导致无法进入,这也是mysql的安全机制之一。所以我们必须得改一些权限。设置其他用户不可写。

a)      在终端运行chmod 644 /etc/my.cnf

b)     重启mysql,会加载my.cnf

问题解决。

附:CSV导入到Mysql句型:

oad data local infile '/Users/Sine1/Downloads/data.csv' into tablesearchingsystem.Talent

fields terminated by ','

enclosed by '"'

lines terminated by '\r\n';


3.     html调用mysql数据库中文又出现乱码,建议先把数据库和表的编码全改成utf8,

在systemprint下面输出没问题,应该是tomcat服务器或者$.ajax中get、post的问题:

a.      首先将server.xml中URIEncoding设为UTF-8,结果网页读出数据库查询结果还是乱码;

b.     在searchTalentsServlet中添加request.setCharacterEncoding("UTF-8"),结果读出来还是乱码;

c.      在searchTalentsServlet中添加response.setCharacterEncoding("UTF-8"),结果成功。



1 0
原创粉丝点击