在Linux系统

Linux默认是UTF8编码,和Windows是GBK编码,所以会有一个以上的代码问题。

解决mysql数据无序码进出口的问题

要做的第一件事就是确定你的出口数据编码格式,你需要添加默认字符集= utf8当你使用mysqldump。

例如,下面的代码:
复制代码代码如下:就中P -默认字符集= utf8 dbname表名>命名


然后使用默认字符集= utf8导入数据时:

复制代码如下:MySQL中- P -默认字符集= utf8 dbname <命名

这种统一编码解决了MySQL数据迁移中的混沌编码问题。


我使用的是视窗的出口数据源在FreeBSD环境导入mysql数据库

uff1a解

出口数据

首先,在Windows平台下,MySQL作为导出数据库的源代码,查看字符编码的系统变量:

复制代码代码如下所示:
显示诸如% char %之类的变量;
+…
| variable_name |价值|
+…
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem |二进制|
| character_set_results | latin1 |
| character_set_server | GBK |
| character_set_system | UTF8 |
| character_sets_dir | D:mysqlsharecharsets |

+…


看character_set_database,这是latin1,和会不是一个多字节字符集。

两。在Windows中设置系统变量是UTF8

复制下面的代码:MySQL >设置character_set_database = utf8;# #设置默认的字符集是UTF8

三。出口数据

复制代码如下:MySQL >选择*从表到文件C:表.txt+条件

然后我想要的数据的一部分是出口和在txt文件中table.txt。

进口数据

FreeBSD平台下

1。还设置字符编码的系统变量。

复制代码代码如下所示:
显示诸如% char %之类的变量;

+…
| variable_name |价值|
+…
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem |二进制|
| character_set_results | latin1 |
| character_set_server | GBK |
| character_set_system | UTF8 |

+…

MySQL >设置character_set_database = utf8;# #设置默认的字符集是UTF8


两。转载数据

复制代码代码如下:MySQL >数据加载的/家/表.txt为表`表`;
此时,条件数据被完全导入和导出,并处理随机代码的情况。
总之,在进口和出口两个MySQL服务器,我们必须确保这两个服务器的character_set_database参数是相同的,这样我们可以避免一些随机码。当然,我们也可以使用其他字符集,如GBK,调整为例进行操作。


解决方案三

随机编码方案
导入数据后,在命令行中检查中文随机代码。
使用以下命令查看系统字符集

复制代码代码如下:显示变量like'char %;

如果不是GBK或UTF8,停止服务,然后修改my.ini文件在安装目录。
在下列文件中更改下列变量,如果没有这样的变量,则添加这些变量。

复制代码代码如下所示:
{ MySQL }
默认字符集= GBK

{他}
Character-set-server=utf8


重新启动服务,如果数据仍然混乱,重新导入数据,

最后,只要我们有经验,就不可能把进出口代码统一起来。