- win+R-->cmd-->mysql -u 账号 -p 回车-->密码-->创建数据库create database lp; 回车-->切到该数据库use lp; 回车
- 开始导入sql文件:source 文件路径【如:e:lp.sql】
- 疯狂报错,一页的1366
- 将数据库删除drop database lp;回车以后重新建立该数据库
- 找到安装数据库的位置,一般情况下如果忘了可以去环境变量里面查看位置,安装时一般会配置环境变量方便操作,点开mysql文件夹即可以看到my.ini,如果是其他版本则可能因为缺省而隐藏了,此时可以点开查看把隐藏文件勾上,在programdata里面就能找到。
- 找到sql-mode,改成sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",即去掉严格模式,不进行数据的严格校验,可能是空值的原因造成问题
- 保存my.ini,打开任务管理器,重启mysql服务
- 再进行导入,成功
- 在cmd中查询表名,然后查询某张带有中文的表,乱码,exit回车退出数据库
- 首先搜索了一下,然后修改cmd的活动页,chcp 65001【utf8代码】或者【chcp 936 【gbk代码】】回车
- 记事本打开my.ini,找到[client]、[mysql]、[mysqld]全部在后面使用utf8编码【没有“-”】如:default-character-set=utf8
- 保存以后依旧重启服务,再次查询,依然乱码
- 再搜索了一下,好吧,我也不知道当时在干嘛,执行查询前加入一句,比如:set character_set_results=gb2312;等等,疯狂改等号右边的编码,发现依然乱码。【设置编码前查了所有编码
show variables
like
'character_set_database'
;有一个是bi...,其余全部是utf8
】 - 反复尝试,只是乱码乱得越来越别致而已
- 最后,灵光一现,找到sql文件,选择记事本打开,选择另存,看到下面的编码是utf-8,当时觉得那应该是对的吧,但是实在没有办法就把下面各种保存方式都试了一下,试到使用ANSI方式保存sql文件然后导入查询发现不乱码了。
- 最后又使用
show variables
like
'character_set_database';查看编码,发现
此时所有编码只有一个,全部统一。
那么,在第13步的时候,使用类似如:
set xxxx=utf8;把查询到的信息全部改成utf8应该也是可行的。
导入sql文件遇到的尴尬(错误1366、cmd显示乱码)
最新推荐文章于 2024-03-18 11:51:39 发布