在一个rails应用中,使用mysql数据库,因为开发的比较早,当时对rails的中文问题处理了解不够,在database.yml中没有设置"encoding: utf8",这样虽然在rails应用中处理和显示中文都是没有问题的,但因为数据库默认使用的是latin1编码,导致在mysql客户端工具中不能正常显示和修改中文。
这个应用部署后一直这样将就着使用,后来因为需要在java程序中读取这个数据库中的数据,为简单起见,决定统一使用utf8编码。经过一番google和实际试验,采用以下步骤实现了旧的latin1数据转换成正常的utf8编码:
以下内容中db_old为旧的乱码数据库名,db_new为utf8的新数据名
1、创建新的数据库:
CREATE DATABASE db_new CHARACTER SET utf8 COLLATE utf8_general_ci;
2、使用mysqldump导出旧的数据:
mysqldump -u root --password=xxxx --default-character-set=latin1 db_old > db.dump
3、使用ultraedit或其它文本编辑工具修改db.dump,在最前面加下以下内容:
SET NAMES utf8;
SET CHARACTER_SET_CLIENT=utf8;
SET CHARACTER_SET_RESULTS=utf8;
保存后退出编辑器
4、导入db.dump文件到新数据库:
mysql -u root --password=xxxx db_new < db.dump
完成以上步骤后,使用mysql客户端工具连接到db_new之后,可以正常的读取和修改中文内容。
另外,使用utf8后,正确的备份数据库脚本应是:
mysqldump -u root --password=xxxx --default-character-set=utf8 db_new > backup.dump
分享到:
- 2007-09-17 00:02
- 浏览 2057
- 评论(0)
- 论坛回复 / 浏览 (0 / 2850)
- 查看更多
相关推荐
MySQL乱码问题是一个常见的困扰,尤其对于处理中文字符时更为突出。...值得注意的是,如果之前已经存在乱码数据,可能需要进行数据转换或者手动修正,这是一个更加复杂的过程,需要谨慎操作,以免丢失或损坏数据。
### MySQL乱码问题详解与解决方案 #### 背景与问题描述 在处理MySQL数据库时,乱码问题是一个常见的困扰,尤其是当涉及到中文或其他非英文字符集时。乱码问题通常发生在数据导入、导出、查询或显示过程中,表现为...
### MySQL乱码处理详解 #### 一、引言 在MySQL数据库操作过程中,字符集设置不当常常会导致数据存储或查询时出现乱码问题。本文将详细介绍如何通过六个步骤解决PHP环境下UTF-8编码的MySQL乱码问题。 #### 二、...
在处理MySQL 5.6.19非安装版(便携版)时遇到中文乱码问题,这通常是由字符集设置不当导致的。为了解决这个问题,我们需要从多个角度进行排查与修正,确保数据库能够正确地识别并显示中文字符。 ### 一、问题概述 ...
5. **波特率和通信协议**:如果你的数据是通过串行通信传输的,波特率不匹配或者通信协议错误可能导致乱码。 解决这些问题的方法包括: 1. **检查地址**:使用调试工具查看`xdata`变量的实际地址,确认没有冲突。 ...
### 如何解决MySQL中的中文乱码问题 在处理MySQL数据库时,经常遇到的一个问题是中文字符...此外,对于已经存在的乱码数据,可以通过上述提到的方法逐一进行修正。总之,在处理中文数据时,正确的字符集配置至关重要。
PHP和MySQL中文乱码问题是一个常见的困扰开发者的问题,主要源于编码不一致。本文将深入探讨这一问题,并提供全面的解决...在实际开发中,遇到乱码问题时,应先检查上述各环节的编码设置,从而找到问题根源并进行修正。
3. **数据库配置**:Vtiger的数据库(通常是MySQL或PostgreSQL)需要配置为使用支持多语言的编码,如utf8mb4,以正确存储和检索中文数据。 4. **PHP配置**:PHP作为Vtiger的后端语言,其ini配置文件中的默认字符集...
在使用MyBatis框架进行数据操作时,可能会遇到字符编码问题,导致乱码现象。这里主要探讨的是关于MyBatis(以及它的前身iBatis)处理GBK和ISO-8859-1编码时出现的问题及其解决方案。 首先,我们要了解字符编码的...
2. **数据库编码**:确认MySQL数据库的默认字符集为utf8或utf8mb4,且UCenter Home相关的数据表及字段也设置为UTF-8编码。 3. **服务器环境配置**:确保Web服务器(如Apache或Nginx)和PHP配置支持UTF-8,如修改`....
MySQL数据库在处理字符串数据时,可能会遇到...正确配置字符集并保持一致性是避免MySQL乱码问题的关键。对于多语言支持的应用,`utf8`或更现代的`utf8mb4`字符集是推荐的选择,因为它们能支持广泛的Unicode字符。
4. 支持客户端编码类型指定,解决中文乱码问题 3. 2013年 版本是原来版本的修正版本; 主要增加功能如下: 1. 优化编码接口内存分配; 2. 增加查询和更新(读写)超时功能(需要 MYSQl 相应版本支持); 3. 增加分批查询...
修正上一版生僻字乱码问题 数据来源:http://www.stats.gov.cn/tjsj/tjbz/tjyqhdmhcxhfdm/2018/ 其中:province:31条,city:343条,district:3,285条,town:43,563条,village:666,260条 解压后60.3M 数据表...
- 数据编码问题:确保CSV文件和MySQL的字符集设置一致,避免乱码。 - 错误处理:在导入过程中可能会遇到数据不匹配、空值处理等问题,需预先设定规则或在导入时进行校验。 - 大文件导入:对于大文件,可能需要...
MySQL数据库中出现乱码问题是一个常见的困扰,尤其是对于使用多种字符集环境的开发者来说,正确设置和管理字符编码是保证数据正确显示的关键。要彻底解决乱码问题,首先要了解乱码产生的根本原因,然后再进行有效的...
- 分析乱码数据的编码。通过尝试不同的编码格式进行转换,看哪种转换能还原正确的文本。例如,可以使用Java中的`getBytes()`和`new String()`方法,尝试ISO-8859-1、UTF-8、GB2312、GBK等编码进行转换。 5. **...
在使用MySQL5数据库时,有时会遇到中文字符显示为乱码的问题,这通常是由于字符集配置不正确导致的。本文将详细介绍如何解决MySQL5中的中文乱码问题。 首先,我们需要理解字符集和校对(Collation)的概念。字符集...
修正的“sql.sql乱码”问题,意味着文件内容现在是可读且无误的,这对于理解和执行SQL语句至关重要。 "README.txt"文件通常提供源码包的使用指南,可能包含了如何运行示例、安装依赖或者配置环境的说明,对于初学者...