php怎么修改乱码,实战mysql导出中文乱码及phpmyadmin导入中文乱码的解决方法?
Linux主机通过phpmyadmin导出的sql数据,用命令导入到另外一台Linux主机时出现中文显示乱码,进一步查看原先导入出sql文件,发现中文无法显示,都是?号。解决Linux mysql数据导入导出中文乱码的具体方法如下:
1、确保phpmyadmin导出的数据中文显示正常,进入phpmyadmin界面,将语言选为中文simple-chinese( 注意非simple-chinesegb 2312),再导出sql中文就能正常显示。
2、修改导入出现乱码的LINUX主机的mysql设置vi /etc/my.cnf[mysqld] 添加default-character-set=utf8#设置默认字符集为utf8init_connect='SET NAMES utf8′#设定连接mysql数据库时使用utf8编码,以让mysql数据库以utf8方式运行找到(或添加)[client]default-character-set=utf8重启mysqlservice mysqld restart3、删除数据库并新建,重新导入数据库即可mysql -u root -p>mysql>drop database xxx>create database xxx>quit导入数据mysql -u -p xxx <mysql.sql
dbvisualizer中文乱码?
出现此问题可以参考如下解决方法:
应该是数据库编码与Database Backup文件的编码不一致导致的。
首先,wordpress的默认编码应该是UTF-8的(好像有的中文版可能是GB2312)。
恢复的时候使用的是PHPMyAdmin吗?如果是的话,在恢复的时候选择的文件编码应该与备份文件的编码保持一致。查看备份文件编码可以用Emeditor、EditorPlus、UE等文本编辑器。总之,备份文件的编码要与wordpress的编码格式统一就不会有乱码出现了。
显示数据库中得文字都是乱码?
一般来说,乱码问题其实也就是编码不一致导致的。因此,要解决PHP中文乱码问题,解决步骤有如下几步:
1. 页面声明的编码 与 数据库内部编码 一致比如: 你的网页里设置 charset = gb2312,然而,你的数据库使用utf-8,那么,如果不进行iconv转换的话,显示出来可能就有问题。
2. 页面文件的编码 与 页面声明的编码 一致比如,你的网页文件为 test.php,该文件用 UTF-8B 格式保存,而如果你的网页里设置 charset = gb2312,那么可能显示也不正常。 从你的问题描述来看,“PHP中非数据库导出的部分 其中文显示正常 ”,据此可以确定页面文件编码与页面声明编码一致,那么,问题原因就在于:页面声明的编码 与 数据库内部编码 不一致造成的。你可以查看下,你的 数据库编码格式 与 网页定义的编码。
用PHP和ACCESS写聊天室?
access的中文版默认是GBK格式的,是无法改变字符类型的,所以用php读取的时候会乱码。解决方法是:使用iconv转换一、使用iconv函数制作一个转码的自定义从GBK转到UTF-8的函数,如以下代码:
functionenc($c){returniconv('gbk','utf-8',$c);
}二、为了写入数据库的编码是符合数据库需要的,所以我们还要制作一个从UTF-8转向GBK的函数:
functiondec($c){returniconv('utf-8','gb2312',$c);}制作好了转码函数,接下就是正常使用了。在从数据库里面调数据显示在页面的时候使用enc()函数,从页面提交数据到数据库时使用dec()函数,这样就可以很好的解决PHP使用UTF-8编码,ACCESS使用系统默认编码的问题了。
网站后台乱码了?
刚开始学习PHP同学,在写项目的时候因为经验不足,会出现乱码的情况,乱码的情况有很多种:
1、PHP文件输出时出现乱码
php文件本身的编码一定要与网页的编码相匹配
如果使用gb2312编码
那么php要输出头:header(“Content-Type: text/html; charset=gb2312")
静态页面添加
如果使用utf-8编码
那么php要输出头:header(“Content-Type: text/html; charset=utf-8")
静态页面添加
2.PHP
与My SQL数据交互出现乱码PHP要与数据库的编码一致
在需要做数据库操作的php程序前加MySQL_query("set names '编码'");编码和php编码一致
如果php编码是gb2312那mysql编码就是gb2312
写法:
mysql_query("set names 'GBK'");
如果是utf-8那mysql编码就是 utf-8