iconv 解决MySQL (SQL文件)乱码问题

从 Windows 下的 MySQL 导出的 sql 文件再导入到 Linux 下的 MySQL ,所有字段的中文内容都变成了乱码。

$ file -i sql1.sql

sql1.sql: text/plain; charset=utf-8

发现 sql 文件的编码是 utf-8 ,这与 Linux 下 MySQL 数据库默认的 gbk 编码不相符。

$ iconv -f utf-8 -t gbk -o sql2.sql sql1.sql

生成编码为 gbk 的 sql 文件再导入就可以了。

不过,发现个问题:

$ file -i sql2.sql

sql2.sql: text/plain; charset=unknown

看来,file 不支持 gbk 编码。

时间: 2024-08-27 06:41:47

iconv 解决MySQL (SQL文件)乱码问题的相关文章

jbpm3.2中jbpm.jpdl.mysql.sql文件运行报错的问题

这是一个很久之前遇到的问题,就是用从官网下下载的jbpm组件,它的jbpm.jpdl.mysql.sql不能正常运行.其原因是该sql文件中有一句语句有错误.现在附上正确的jbpm.jpdl.mysql.sql文件代码: ;alter table JBPM_ACTION drop foreign key FK_ACTION_REFACT ;alter table JBPM_ACTION drop foreign key FK_CRTETIMERACT_TA ;alter table JBPM_A

SQLyog客户端 导入sql文件乱码的解决方法

方法一: 通过增加参数 –default-character-set = utf8 解决乱码问题 mysql -u root -p password < path_to_import_file –default-character-set = utf8 方法二: 在命令行导入乱码解决  1. use database_name; 2. set names utf8; (或其他需要的编码) 3. source example.sql (sql文件存放路径) 方法三: 直接粘贴sql文件里的代码 1

关于解决运行sql文件时,找不到MySQL默认编码utf8mb4的问题

本人小白一名,最近碰到了一个问题,在navicat导入mysql文件时,报出mysql找不到utf8mb4编码的问题,特此记录自己如何导入成功的. 我去百度查了自己的mysql版本,属于比较低的版本,所以默认编码中没有utf8mb4,默认编码是utf8,学生嘛,用不到那么高的版本,基本低版本的就足够开发一些实训项目的了. 首先看到这个错误,我的第一反应是修改这个sql文件的编码格式,即将utf8mb4->utf8,以记事本的形式打开这个sql文件 编辑->替换->将所有utf8mb4换成

ubuntu下解决mysql插入中文乱码(???)的问题

一.原因     myeclipse中插入中文发现不仅在mysql中且在myeclipse中查询都显示???  ?二.解决 ?     网上看了很多资料,如果在mysql中直接修改,重启mysql后就失效,一般修改my.ini文件,当然在ubuntu下是my.cnf.修改的过程可参考http://blog.knowsky.com/190431.htm     但在我进行修改的过程中发现:         找到[mysqld]在下面加入        default-character-set=u

SSH开发中解决mysql数据库的乱码问题

(1)第一点要保证 就是创建数据库的时候 使用的编码方式 和连接数据库的 编码格式是一样的! (2)在web.xml文件中配置过滤器(由spring提供的过滤器) <filter> <filter-name>encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param

解决eclipse打开文件乱码

解决办法 需要设置的几处地方为: Window->Preferences->General ->Content Type->Text->JSP 最下面设置为UTF-8 Window->Preferences->General->Workspace 面板Text file encoding 选择UTF-8 Window->Preferences->Web->JSP Files 面板选择 ISO 10646/Unicode(UTF-8) 原文地

mysql通过sql文件导入数据时出现乱码的解决办法

首先在新建数据库时一定要注意生成原数据库相同的编码形式,如果已经生成可以用phpmyadmin等工具再整理一次,防止数据库编码和表的编码不统一造成乱码. 方法一: 通过增加参数 –default-character-set = utf8 解决乱码问题 mysql -u root -p password < path_to_import_file –default-character-set = utf8 方法二: 在命令行导入乱码解决 1. use database_name; 2. set n

MYSQL数据库导入SQL文件出现乱码解决方法

导入的方法: a. b. mysql -u root -D test </test.sql 导入数据时,如果目标数据库或表是UTF-8字符集的,而导入SQL中有中文,可能在最终结果中出现乱码,此时只需在导入的SQL文件第一行加入如下内容 即可. a) /*!40101 SET NAMES utf8 */; b) 设置文件编码格式为 UTF-8 编码格式

MySQL命令行导入sql文件时出现乱码解决方案

Note: sql> source F:weibo.sql(执行相关sql文件) sql> select * from sina into outfile "/weibo.txt"(导出相应数据到C:的weibo.txt) 1. mysql 5.0后其客户端仅支持gbk,故可在sql> set names gbk; 例如: set names gbk; /* Navicat MySQL Data Transfer Source Server : localhost_3