mysql 中文乱码 如何恢复
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 中文乱码 如何恢复相关的知识,希望对你有一定的参考价值。
数据库用的是GBK编码,不知怎么搞的现在部分中文变成了下面这样的 ~2\\U~2E~ ~M, ?VPPD~ 命令行下,php页面里都是这样了,请问如何恢复?
估计你存入的数据是UTF8编码。你可以先将数据都导出来。然后修改mysql的编码
再将数据导入进去。
推荐mysql的编码是utf8
这样呀好些。
导出:mysqldump
-u
root
-p
数据库名>导出的文件名
mysql>
show
variables
like
'character_set_%';
+--------------------------+-------------------------------+
|
Variable_name
|
Value
|
+--------------------------+-------------------------------+
|
character_set_client
|
gbk
|
|
character_set_connection
|
gbk
|
|
character_set_database
|
gbk
|
|
character_set_filesystem
|
binary
|
|
character_set_results
|
gbk
|
|
character_set_server
|
gbk
|
|
character_set_system
|
utf8
|
|
character_sets_dir
|
E:\Java\MySQL\share\charsets\
|
+--------------------------+-------------------------------+
mysql>
set
character_set_database=utf8;(主要修改这一行)
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
show
variables
like
'character_set_%';
+--------------------------+-------------------------------+
|
Variable_name
|
Value
|
+--------------------------+-------------------------------+
|
character_set_client
|
gbk
|
|
character_set_connection
|
gbk
|
|
character_set_database
|
utf8
|
|
character_set_filesystem
|
binary
|
|
character_set_results
|
gbk
|
|
character_set_server
|
gbk
|
|
character_set_system
|
utf8
|
|
character_sets_dir
|
E:\Java\MySQL\share\charsets\
|
+--------------------------+-------------------------------+
然后再将数据导入:
mysql
-urrot
-p
数据库名<文件名;
你的PHP页面要设置成utf8
即可正常显示。
如果你是命令行下(不是mysql命令行形式的客户端)显示的是乱码。因为微软的命令行不支持utf8
编码
------
0---------------------补充---------------------
你将你的mysql编码贴出来瞧瞧吧
顺便贴出建库的编码,表的编码。
mysql>
show
create
database
test;
+----------+---------------------------------------------------------------+
|
Database
|
Create
Database
|
+----------+---------------------------------------------------------------+
|
test
|
CREATE
DATABASE
`test`
/*!40100
DEFAULT
CHARACTER
SET
utf8
*/
|
mysql>
show
create
table
test; 参考技术A PHP与MYSQL开发,乱码问题,要注意三个地方。
1.
连接数据库的字符集设置。
2.
数据表本身的字符集设置。
3.
页面meta的字符集设置。
以你的情况分析,
cmd命令行窗口是否为utf8(一般windows下命令行,窗口,并不是utf8,注意下这点)
连接时是否用的utf8
数据表是否为utf8
php显示中文乱码,phpmyadmin里的MySQL数据库中文乱码,如何解决?
php显示中文乱码,phpmyadmin里的MySQL数据库中文乱码,如何解决? 情况如下: 新建php页面时中文显示正常,插入记录集导航条和记录集导航数据时的文字是英文,当运行预览(F12)时,IE页面出现的中文乱码,英文能正常显示; 当从php页面提交插入记录并返回页面时,显示的提交内容没有乱码,只是在Dreamweaver制作时写入的中文是乱码; 然后打开http://localhost/phpmyadmin/页面查看数据库,发现刚才输入的中文显示为乱码; 这个时候,我在数据库里修改刚才输入的中文并保存,这时数据库能显示的是中文,但回到在php页面运行预览(F12)时,在数据库里修改的那部分出现的是很多问号(?),其他没有修改的内容没有变化。请各位高手出手相助!该如何修改才不会乱码? 1..安装的是appserv-win32-2.5.9及Dreamweaver CS3 2..在MySQL Command Line Client输入以下命令时: mysql> SHOW VARIABLES LIKE 'character_set_%'; +--------------------------+----------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | C:\AppServ\MySQL\share\charsets\ | +--------------------------+----------------------------------+ 8 rows in set (0.00 sec) mysql> SHOW VARIABLES LIKE 'collation_%'; +----------------------+-----------------+ | Variable_name | Value | +----------------------+-----------------+ | collation_connection | utf8_general_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | +----------------------+-----------------+ 3 rows in set (0.00 sec) 3..在Dreamweaver CS3新建php页面时有以下代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 4..进入http://localhost/phpmyadmin/页面显示: localhost 服务器版本: 5.0.45-community-nt-log Protocol version: 10 MySQL 字符集: UTF-8 Unicode (utf8) MySQL 连接校对:utf8_general_ci phpMyAdmin - 2.10.2 MySQL client version: 5.0.37 Language: 中文-Chinese simplified 其中,打开了数据库列表显示如下: 数据库 整理 mymy2012 utf8_general_ci mysql utf8_general_ci phpmyadmin utf8_bin test utf8_general_ci 统计: 4 utf8_general_ci
参考技术A 将浏览器中的编码改成utf-8,数据库中也是。在php页面首行加上header("Content-type:text/html;
charset=utf-8");,必须首行,前面不能有输出。
还有,在查询数据库时加上:mysql_query(set
names
utf-8);
以上是关于mysql 中文乱码 如何恢复的主要内容,如果未能解决你的问题,请参考以下文章