看一下phpmyadmin 是如何导出和导入数据编码情况

用 phpmyadmin 的 导出功能,把一个表导出.

数据库编码和表编码都是GBK 的.

然后我用火狐浏览器,打开,在 gbk 编码下中文已经乱码

选择utf8 以后呢.就好. 证明导出的文本是UTF8 的.

打开导出的数据文件,

看到和直接使用 mysqldump 导出的干净了很多,连

set names * 语句都省却了,那么也就是说在导入这个数据文本的时候我们需要自己来 set names * ?

呵呵,每那么麻烦,在 phpmyadmin 导入数据的时候有一个选项:

文件的字符集 选择,这个是不是默认就是帮我们 set names * 的呢?很简单查看代码就行了嘛我们看下phpmyadmin 的代码

在 import.php 里面我们看到这样一段代码

// Convert the file's charset if necessary if ($cfg['AllowAnywhereRecoding'] && $allow_recoding && isset($charset_of_file)) { if ($charset_of_file != $charset) { $charset_conversion = TRUE; } } elseif (PMA_MYSQL_INT_VERSION >= 40100 && isset($charset_of_file) && $charset_of_file != 'utf8') { PMA_DBI_query('SET NAMES \'' . $charset_of_file . '\''); // We can not show query in this case, it is in different charset $sql_query_disabled = TRUE; $reset_charset = TRUE; }

如果我们选择提交了编码,而且还不是utf8 的,那么 就执行 SET NAMES 我们的编码.

明白了哦. 那为什么要set names * 呢~~ 这个我明白,不知道你明白没有..

总结:

phpmyadmin 导出的数据文本默认都是utf8 的. (还有种情况,会不会和phpmyadmin 版本编码有问题 呢?我这个phpmyadmin 是utf8版本)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值