第一 list.php文件中加入了header("content-type:text/html; charset=utf-8");
第二 创建数据库的时候选择的编码是:utf_general_ci
第三 创建表的时候字段也是选择的utf8_unicode_ci
第四 连接是单独的conn.php文件 而且sql查询语句后加了mysql_query("set names 'utf8'");
第五 浏览器 是自动选择编码 而且勾选了 unicode(utf-8);list.php文件在运行的时候 table里边的数据怎么还是 ????????????????一大串问好啊?????
已经郁闷了好几天了 ………………
还有哪个地方没有考虑到的吗 》》???
我的环境是wamp5 + DW 高分相送
第二 创建数据库的时候选择的编码是:utf_general_ci
第三 创建表的时候字段也是选择的utf8_unicode_ci
第四 连接是单独的conn.php文件 而且sql查询语句后加了mysql_query("set names 'utf8'");
第五 浏览器 是自动选择编码 而且勾选了 unicode(utf-8);list.php文件在运行的时候 table里边的数据怎么还是 ????????????????一大串问好啊?????
已经郁闷了好几天了 ………………
还有哪个地方没有考虑到的吗 》》???
我的环境是wamp5 + DW 高分相送
/**
* PHP100Ƶ̡̳
*/
header("content-type:text/html; charset=utf-8");
include("conn.php");$pagesize=30;
$url=$_SERVER["REQUEST_URI"];
$url=parse_url($url);
$url=$url[path];$num = 300;if($_GET[page]){
$pageval=$_GET[page];
$page=($pageval-1)*$pagesize;
$page.=',';
}
if($num > $pagesize){
if($pageval<=1)$pageval=1;
echo " $num ".
" <a href=$url?page=".($pageval-1).">һҳ</a> <a href=$url?page=".($pageval+1).">һҳ</a>";
} $SQL="SELECT * FROM `quchong` limit $page $pagesize ";
echo " <table width='100%' border='0' cellspacing='0' cellpadding='0' style='border:3px solid #EAEAEA;'><tr> <td style='background:#E0F0FF; font-size:14px; font-weight:bold;'>111</td><td style='background:#E0F0FF; font-size:14px; font-weight:bold;'>222</td><td style='background:#E0F0FF; font-size:14px; font-weight:bold;'>333</td><td style='background:#E0F0FF; font-size:14px; font-weight:bold;'>44444</td></tr>";
$query=mysql_query($SQL);
while($row=mysql_fetch_array($query)){echo " <tr><td style='font-size:12px; color:#0033AA; background:#fff; '>".$row[compname]."</td>"."<td style='font-size:12px; color:#0033AA; background:#fff; '>".$row[compaddress]."</td>"."<td style='font-size:12px; color:#0033AA; background:#fff; '>".$row[connectP]."</td>"."<td style='font-size:12px; color:#0033AA; background:#fff; '>".$row[content]."</td>"."</tr>"; }
echo"</table>";
?>很乱哦 将就着看吧
页面文件保存时的编码也必须是utf8的
header("content-type:text/html; charset=utf-8")这个去掉,没用第二 创建数据库的时候选择的编码是:utf_general_ci
第三 创建表的时候字段也是选择的utf8_unicode_ci
这些不对,应该设置为gbk且只能是gbk,gb2312都不行,因为如果你不用gbk的话中文排序会出现问题
DW 你是怎么保存的????DW是根据你的<meta〉来保存的。
注意,该页面所有include的文件也必须保存为utf8格式
1:mysql_query("set name 'UTF8'");告诉数据库是UTF-8
2:php中要echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';告诉浏览器是utf-8编码
3:你写的php文件必须是UTF-8编码.editplus 里面有编码转换
4:php中的iconv函数的使用,你自己看着办吧.
同理:把上面三条改为GB2312,或者GBK都可以显示中文的,个人推荐UTF-8(不然多语言有你麻烦的)
还有就是如果你确认你数据库存储的编码是utf8,那么在所有的sql操作前加上 set names utf8,然后再查询,如果还是乱码,你就试一下 set names gb2312或gbk,看到底是不是utf8编码编码问题无非就是三个方面:文件编码,文件中定义的页面显示编码,数据库编码,致既可
则上述均不能成功举个例子
你原来的是gb2312或latin
后升级导入utf8的表库
由于没有转换,乱码
还有你的文件的保存格式也是utf8吗?
我以前也遇到过
2 若你使用的PHP 5.02 以上版本,可以使用 mysql_set_charset()函数来解决。
还有就是,你保存的数据本身是否有错误,先确认一下。
[email protected]
统一编码比较好
第二 创建数据库的时候选择的编码是:utf_general_ci
第三 创建表的时候字段也是选择的utf8_unicode_ci //// utf_general_ci
第四 连接是单独的conn.php文件 而且sql查询语句后加了mysql_query("set names 'utf8'");
///// sql查询语句 前面 加
///// mysql_select_db 后执行一次mysql_query("set names 'utf8'");就可以了
第五 浏览器 是自动选择编码 而且勾选了 unicode(utf-8);
部份乱码很可能是list.php文件跟数据库不同编码
http://iamduyu.cn/?p=318
UTF-8是繁体中文吧。
配置mysql编码:
mysql -u root
>show variables like 'character%';
+--------------------------+----------------------------+
| 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 | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
修改mysql的配置文件my.cnf
sudo nano /etc/mysql/my.cnf
有3个地方需要动的[client]下面加上
default-character-set=utf8
[mysqld]下面加上
default-character-set=utf8
init_connect='SET NAMES utf8'
保存后重启mysql
其他地方不变。
你自己写个:<meta http-equiv="Content-Type" content="text/html; charset=utf-8">然后在DW刷新一下,再保存,这样才是UTF-8的文件。
你这样做的设置只能保证新的数据没有问题.