MYSQL數據庫亂碼轉碼問題

简介: 事情有些複雜,是這樣的:現狀:數據庫:mysql,默認編碼為latin1,建庫用的默認編碼,所以是:latin1_swedish_ci;site後臺為:ISO-8859-1;site前臺為:UTF-8;輸入:繁...

事情有些複雜,是這樣的:

現狀:

數據庫:mysql,默認編碼為latin1,建庫用的默認編碼,所以是:latin1_swedish_ci;

site後臺為:ISO-8859-1;

site前臺為:UTF-8;

輸入:繁體中文;

 

目標:

把數據庫,後臺,編碼統一改為UTF-8

 

解決辦法:

得到了http://www.suixie.com/jianzhan/2007-05-26/65.html的提示,用最老實的辦法:select tableName INTO OUTFILE , LOAD DATA INFILE 的辦法,把兩個有中文的table導出文件,轉碼後再導入;

 

步驟:

  1. 導出數據庫。將old數據庫將數據庫結構導出,我用PHPMYADMIN,先MYSQL40模式,這樣導出的結構沒有charset=latin1_swedish_ci,如果有 latin1_swedish_ci的話,將 latin1_swedish_ci改為utf-8 ;
  2. 根據上面導出的數據庫結構建庫new,記得是建成utf-8編碼的,(一般來說是utf8-general_ci);
  3. 在命令行登錄mysql,進入old數據庫,執行:

select * into outfile 'e://test//tb.txt' FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY """" LINES TERMINATED BY "/r/n" FROM 要導出的表名(沒有引號);

這就可以看到e:/test/下有一個tb.txt文件,是導出的表的數據;

 

4.轉碼。因為我導出來的數據就是我看得出的中文,所以我倒是省了這一步。不過這個應該是不怎麼好弄吧?我試過用phpmyadmin導出的.sql文件,找了好幾個轉碼器都轉不了 !-_-

如果是亂碼,可以用轉換工具,比如convertz802來轉碼,這一步好似也是挺考驗的,因為要轉出來的tb.txt文件是utf-8編碼,並且裡邊的中文字正常的。

 

5.把文件再導入e://test//tb.txt數據庫new。LOAD DATA INFILE 'e://test//tb.txt' INTO TABLE database.new FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY """" LINES TERMINATED BY "/r/n";

在這之前,有可能需要執行以下命令:

set names 'utf8';

set character_set_database='utf8'; // 通過show variables like 'character_set_%';查詢

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
存储 关系型数据库 分布式数据库
PolarDB产品使用问题之如何避免在修改数据库的编码格式时出现乱码状况
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
379 5
|
Oracle 关系型数据库 Linux
解决oracle数据库乱码
解决oracle数据库乱码
|
关系型数据库 MySQL API
Mysql 8.0 C API连接和获取数据实例(附解决乱码的彩蛋)
Mysql 8.0 C API连接和获取数据实例(附解决乱码的彩蛋)
Mysql 8.0 C API连接和获取数据实例(附解决乱码的彩蛋)
|
关系型数据库 MySQL
MySQL实战基础知识入门(5):命令行汉字中文输出乱码的解决方案
MySQL实战基础知识入门(5):命令行汉字中文输出乱码的解决方案
325 0
|
JSON 小程序 数据库
小程序批量导入excel数据,云开发数据库导出cvs乱码解决方案
小程序批量导入excel数据,云开发数据库导出cvs乱码解决方案
842 0
|
JSON 数据库 数据格式
mysql-connector-java json数据乱码
经测试版本最低也5.1.40以上,于是升级到了5.1.40.现在的最新版本是5.1.49,果然数据库的json数据查询正常了,如果com.mysql.jdbc.Driver报错,删除scope,查询时候要使用json函数:json_extract(json字段名,’$’);
mysql-connector-java json数据乱码
|
Java 关系型数据库 MySQL
数据库中存的内容乱码显示的是问号????的解决方案
数据库中存的内容乱码显示的是问号????的解决方案
数据库中存的内容乱码显示的是问号????的解决方案
|
关系型数据库 MySQL
Mysql输出中文显示乱码处理
Mysql输出中文显示乱码处理
642 0
Mysql输出中文显示乱码处理
|
SQL 关系型数据库 MySQL
MySQL - Navicat MySQL 乱码解决
MySQL - Navicat MySQL 乱码解决
476 0
MySQL - Navicat MySQL 乱码解决
|
关系型数据库 MySQL
最讨厌的乱码之 MySQL 乱码
乱码原因 解决方法 原因 总结
最讨厌的乱码之 MySQL 乱码

热门文章

最新文章

推荐镜像

更多