一般乱码解决方法:
ZendStudio , phpMyAdmin → utf-8_unicode_ci
指定网页文件编码<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
php连接数据库后用mysql_query指定编码类型.
以下为引用的内容: mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER_SET_CLIENT=utf8"); mysql_query("SET CHARACTER_SET_RESULTS=utf8"); |
UTF-8保存文件 可以用convertz802转换文件
在MySQL从4.1以下版本升级到4.1及以上版本时经常能碰到字符集问题, 会出现乱码,这个是让人最头疼的问题,试了很多办法都没法解决,而且现在UTF8开始广泛使用,所以一般用UTF8比较好,最后总结有以下三种方法解决此问题。
乱码问题1. 用
PHPmyAdmin操作MySQL数据库汉字显示正常,但用PHP网页显示MySQL数据时所有汉字都变成了?号。
症状:用PHPmyAdmin输入汉字正常,但当PHP网页显示MySQL数据时汉字就变成了?号,并且有多少个汉字就有多少个?号。很多学员都遇到了此问题,尤其是在安装了最新版的Appserv后。为此许多学员放弃了PHP,改学ASP了。
原因:没有在PHP网页中用代码告诉MySQL该以什么字符集输出汉字。
解决方法:这不是乱码,只要在PHP网页头部加入以下一段代码告诉MySQL以UTF8编码输出汉字即可
<? mysql_query("SET NAMES UTF8");? ?>
??????? 你也可以在网页中PHP代码部分直接插入上述代码片段(即去掉两端<??>号)。例如你用Dreamweaver连接数据库,那么可以在头部的连接代码
<?php require_once('Connections/connmessage.php'); ?>中加入该代码使其变成<?
php require_once('Connections/connmessage.php');
mysql_query("SET NAMES UTF8");?
?? ?>
注意:如果你的网页编码是gb2312,那就是 SET NAMES GB2312。但编辑员强烈推荐网页编码、MySQL数据表字符集、PHPmyAdmin都统一使用UTF8。原因请见本站PHP教程第一章第2节。
如果以上方法还是没用就必须这样:
1.页面head中<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
2.PHP页面在保存的时候使用UTF-8编码保存
3.在MYSQL中新建数据库的时候数据库选择UTF-8编码
4.在PHP连接数据库的时候,也就是mysql_connect()之后加入
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER_SET_CLIENT=utf8");
mysql_query("SET CHARACTER_SET_RESULTS=utf8");
满足以上四点即可完成全站UTF-8编码,而且在数据库中也不会有中文乱码.
乱码问题2. 用PHPmyAdmin输入数据时发生错误,不让输入或出现乱码
解决方法:这是设置问题。请安装最新版PHPmyAdmin或Appserv,打开PHPmyAdmin,MySQL 字符集: UTF-8 Unicode (utf8); MySQL 连接校对应该为utf8_unicode_ci;创建新的数据库时整理一栏请也选成utf8_unicode_ci。网页字符集也最好选用utf8。utf8是国际标准编码,是趋势。
实例:原来用于早期版本的,繁体版的sql文件如何导入新版mysql中去,而且让它不出现乱码(针对上面三种方法给个具体实例)
关键三步:
1.用convertz802对要导入的.sql文件进行格式转换big5转成UTF-8,如图:
延伸阅读:php连接mysql出现乱码解决办法解决MySQL 4.1乱码问题phpcms转换后或者升级以后出现乱码情况的说明解决phpmyadmin 乱码,支持gb2312和utf-8mysql中文乱码产生原因及解决方法php读取mysql数据库乱码解决方法ajax中文乱码解决方法解决调用javascript里的中文信息乱码的方法二招解决php乱码问题