php与数据库之间进行数据交流,经常会有乱码问题,这类问题很多,本文只涉及:php前台中文正常输出而后台数据库相应字符为乱码的解决。数据库以mysql为例。
mysql数据库后台一般用phpmyadmin控制管理,对于编码一般为:
mysql连接校对:utf8_general_ci
language:中文-Chinese simplified
php页面编码设置为utf-8,比如在DW中页面头部可以看到(php页面不一定非要有这个meta):
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8” />
数据库表各个字段整理设置为utf8_general_ci(一般在创建表时):
CREATE TABLE table
(
…….
)TYPE=MyISAM DEFAULT CHARSET=utf8
……
当前台后台都设置好编码,php请求页面与mysql数据库交流时,前台中文字符正常而数据库却显示乱码,参考解决方法:
mysql_query(“SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary”, $connect);
$connect为连接数据库,每次与数据库链接(包括写入和读出数据)都设置utf8编码;
在php页面可以强制编码:
<? header(“content-type:text/html; charset=utf-8″);?>
和上面说的DW中的meta应该意思差不多;
php前台页面和数据库字符不一致,一般就是与数据库连接时发生问题(输入和读出);
右上方更多相关内容/站内搜索-关键词请用空格隔开
发表留言