您的位置:首页 > 编程语言 > PHP开发

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

2010-01-17 09:28 295 查看
用 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版本)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐