既然都是 UTF8,还转码干什么?
难道你想把 UTF8 格式的韩文转换成 GBK?开玩笑。。。GBK 里只有汉字。。
建议直接从数据库里打开表看看是否乱码,如果不是,直接导出成 UTF8 格式,别转码,只有 UTF8 才包含全世界的文字。GBK 里只有汉字。
1 myini 里面分为很多个节,有[mysqld] 的,也就是数据库的。也有[mysql]节的,是命令行工具的。
2 myini 为数据库全局默认设置,已经存在的表和数据库不会被改变。
3 新建数据库和表的时候可以指定各自的默认编码,所以,建议创建一个和原来表结构相同的表,但指定编码,然后 select into 到新表之中,测试,如果可以,那么清空原来的表,然后从新表选择回来。
4 如果导出为excel了,那么,excel另存为 txt制表符分割,然后使用工具插入。
解决的方法和详细的 *** 作步骤如下:
1、首先,单击“Objects”按钮以查看有关此表的详细信息,如下图所示,然后进入下一步。
2、其次,完成上述步骤后,“teacName”字段的字符集不是“utf8”,如下图所示,然后进入下一步。
3、接着,完成上述步骤后,可以右键单击此表,然后选择“Alter Table”选项,如下图所示,然后进入下一步。
4、然后,完成上述步骤后,在“teacName”字段后面的字符集中选择“utf8_general_ci”选项,然后单击下面的“Alter”按钮,如下图所示,然后进入下一步。
5、随后,完成上述步骤后,成功修改,单击“确定”按钮,如下图所示,然后进入下一步。
6、最后,完成上述步骤后,再次插入中文数据,就不会出现乱码了,如下图所示。这样,问题就解决了。
首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8,
例如下面的代码:
复制代码 代码如下:
mysqldump -uroot -p --default-character-set=utf8 dbname tablename > baksql
那么导入数据的时候也要使用--default-character-set=utf8:
复制代码 代码如下:
mysql -uroot -p --default-character-set=utf8 dbname < baksql
这样统一编码就解决了mysql数据迁移中的乱码问题了
我使用windows作为导出数据源,并导入 freebsd环境下的mysql库
解决方法:
导出数据
一、首先在windows平台下mysql用作导出数据库源。查看字符编码的系统变量:
复制代码 代码如下:
mysql> show variables like ‘%char%';
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | gbk |
| character_set_system | utf8 |
| character_sets_dir | D:mysqlsharecharsets |
+————————–+—————————-+
查看character_set_database,这里是latin1,latin1是装不了多字节字符集的
以上就是关于PHP导出mysq数据为excel时使用 mb_convert_encoding()转码过了 但是韩文乱码全是问号,怎么办全部的内容,包括:PHP导出mysq数据为excel时使用 mb_convert_encoding()转码过了 但是韩文乱码全是问号,怎么办、mysql数据库导出导入问题,解决加50分!、sql文件导入后,中文变乱码,怎样解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)