创客百科

姿势共享,有节操无门槛参与的创客百科,创客动力之源 \ (^_^) /

用户工具

站点工具


note:spoony:mysql导入导出sql文件

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

note:spoony:mysql导入导出sql文件 [2017/12/14 10:44]
Spoony 创建
note:spoony:mysql导入导出sql文件 [2017/12/14 10:45] (当前版本)
Spoony
行 74: 行 74:
 #mysql -uabc_f -p abc < abc.sql #mysql -uabc_f -p abc < abc.sql
 </​code>​ </​code>​
 +
 + ​MySQL插入中文时出现ERROR 1406 (22001): Data too long for column '​name'​ at row 1
 +
 +<​code>​
 +使用命令行方式登陆到MySQL服务器, 建立一个数据库,数据库编码设为UTF-8。此时,如果直接在命令行窗口使用insert语句插入中文,就遇到类似 ERROR 1406 (22001): Data too long for column '​name'​ at row 1 错误。乍一看,是字段长度引起的问题,但是实际是字符编码的问题。可是尝试以下解决方法:
 +      1、在Linux中,使用终端方式登陆MySQL服务器,运行以下命令: ​         ​
 +set names utf8;
 +            该命令将终端的字符编码设为了UTF-8。此后再插入数据库中的内容都会按照UTF-8的编码来处理。
 +            注意:在Linux中,终端方式中直接插入中文内容,可能并不会出现1406错误,但是这时插入的数据是按照系统的默认编码进行处理。因此对编码为UTF-8的数据库,在显示数据的地方可能会出现乱码。
 +           
 +       ​2、在Windows下,命令行窗口不支持UTF-8编码,所以使用“set names utf8;​”不会达到转化中文的效果。但是这个问题还是可以解决的:
 +            (1)使用默认编码建立数据库。这种情况下就可以直接输入中文了,但是相应的问题,就是会失去UTF-8编码的灵活性。特别是不利于软件的国际化。
 +           ​(2)放弃命令行窗口登录MySQL,使用图形化客户端。客户端工具可以MySQL的官方网站上找到。
 +           </​code>​
note/spoony/mysql导入导出sql文件.txt · 最后更改: 2017/12/14 10:45 由 Spoony