php中文乱码问题及解决方法

php中文乱码问题及解决方法

<html>

<head>

<title></title>

</head>

<body>

<?php

$mysql_server_name='localhost';

$mysql_username='root';

$mysql_password='000000';

$mysql_database='lib';

$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database);

$sql="selectname,agefrommytb";

print($conn);

$rs=mysql_db_query("lib","select*frommytb",$conn);

print("\n<br>");

while($row=mysql_fetch_object($rs)){

print($row->name.":".$row->age."<br>");

}

mysql_close($conn);

?>

显示如下:

Resourceid#1

dd:54

ddd:8

??:15

???:25

??:32

mysql编码:utf8,GBK都试过了。mysqlfont和命令行显示都正确。

问题补充:

乱码:

???:15

???:25

??:32

这几行,数据库里的值是汉字.显示出来的是问号.

解决办法:

在$rs=mysql_db_query("lib","select*frommytb",$conn);

前面加上

mysql_query("setnamesgb2312");或者mysql_query("setnamesgbk");