php存的时候声明utf-8,正常汉字,再用php取出来之后还是正常汉字 ,但是在数据库中显示的就是乱码
如果我加上$pdo->exec("setnamesutf8");,,存的是乱码,读出来就是两个问号<?phpheader("Content-type:text/html;...
如果我加上$pdo->exec("set names utf8");,,存的是乱码,读出来就是两个问号
<?php
header("Content-type:text/html;charset=utf-8");
try{
$pdo= new pdo('mysql:host=localhost;dbname=lsj','root','lsjhxl');
$pdo->setAttribute(PDO::ATTR_ERRMODE,2);
//$pdo->exec("set names utf8");
$pdo->exec('insert into student(name) values("我的")');
}catch(PDOException $err){
echo $err->getMessage();
}
echo $pdo->lastinsertid();
?>
文件是直接用Dreamweaver新建的php文件,没有bom头
数据库
| character_set_client | utf8;
| character_set_connection | utf8 ;
|character_set_database | utf8
| character_set_filesystem | binary
| character_set_results | utf8
| character_set_server | utf8
| character_set_system | utf8
头部文件都有,没有用css 展开
<?php
header("Content-type:text/html;charset=utf-8");
try{
$pdo= new pdo('mysql:host=localhost;dbname=lsj','root','lsjhxl');
$pdo->setAttribute(PDO::ATTR_ERRMODE,2);
//$pdo->exec("set names utf8");
$pdo->exec('insert into student(name) values("我的")');
}catch(PDOException $err){
echo $err->getMessage();
}
echo $pdo->lastinsertid();
?>
文件是直接用Dreamweaver新建的php文件,没有bom头
数据库
| character_set_client | utf8;
| character_set_connection | utf8 ;
|character_set_database | utf8
| character_set_filesystem | binary
| character_set_results | utf8
| character_set_server | utf8
| character_set_system | utf8
头部文件都有,没有用css 展开
1个回答
展开全部
代码储存文件的格式不是utf-8的;
数据库编码格式不是utf-8的;
数据传输格式不是utf-8的(看数据库链接的时候有没有这句: mysql_query("set names utf8"));
html头部的<meta /> 标签没有指定编码格式(没有这句话:<meta http-equiv="Content-
Type" content="text/html; charset=utf-8" />);
php的头部没有设置header("Content-type: text/html; charset=utf-8");
css文件头部没有设置编码格式 (@CHARSET "UTF-8";);
等等. 如果你的文件出现乱码, 请对比以上进行修改即可
数据库编码格式不是utf-8的;
数据传输格式不是utf-8的(看数据库链接的时候有没有这句: mysql_query("set names utf8"));
html头部的<meta /> 标签没有指定编码格式(没有这句话:<meta http-equiv="Content-
Type" content="text/html; charset=utf-8" />);
php的头部没有设置header("Content-type: text/html; charset=utf-8");
css文件头部没有设置编码格式 (@CHARSET "UTF-8";);
等等. 如果你的文件出现乱码, 请对比以上进行修改即可
更多追问追答
追问
看补充的内容,这些都有
追答
//$pdo->exec("set names utf8");
你这句加和不加,数据库中都显示的是乱码吗,这样的话那你看看数据库的编码是什么。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询