一个很小的留言板程序
php code $mysql_server_name = localhost; $mysql_username = root; $mysql_password = 123456; $mysql_database = gbook; $sql = select * from gbook order by 'id' desc; //排序 后留言的在前面显示 $conn = mysql_connect($mysql_server_name,$mysql_username,$mysql_password); mysql_select_db($mysql_database,$conn); $result = mysql_query($sql); while($row = mysql_fetch_row($result)) { // ----if语句判断男女------ if($row[2]==1) { $gender = '男';} else { $gender = '女'; }?>
=$row[6]?> =$row[5]?>
=$row[1]?>(=$gender?>) =$row[3]?>
=nl2br($row[4])?>[修改] [删除]
} mysql_free_result($result); ?>
结果页面输出是乱码, 页面的编码 也变成了 gb312 原来输入的 是utf 8
手动将页面编码换成 utf8后 还是有一点乱码出现
应该如何解决
------解决方案--------------------
数据库,页面,程序。编码一致
------解决方案--------------------
数据库,编辑代码页面,程序,三码一致的,刚开始也遇这问题!
------解决方案--------------------
mysql+php产生乱码原因:
◆ mysql数据库默认的编码是utf8,如果这种编码与你的php网页不一致,可能就会造成mysql乱码;
◆ mysql中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成mysql乱码;
◆ mysql创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成mysql乱码;
◆ 用户提交页面的编码与显示数据的页面编码不一致,就肯定会造成php页面乱码;
◆ 如用户输入资料的页面是big5码, 显示用户输入的页面却是gb2312,这种100%会造成php页面乱码;
◆ php页面字符集不正确;
◆ php连接mysql数据库语句指定的编码不正确。
解决办法参考:http://www.phpnewer.com/index.php/cjwt/detail/id/558
