今天碰到一个问题,用echo输出数据库中的中文 全变成了????,其他字符正常,不是数据库中的中文也是正常的,如下图“星期四”就是正常显示的,下图中的表格进而的文字就是从数据库中调用出 来的
php echo 输入数据库中文内容 全为问号
在网上查了很多方法
1·,有人建议用echo iconv('GB2312', 'UTF-8', $str) 或echo iconv('UTF-8', 'GB2312, $str),不行
2,有人建议用header("Content-Type: text/html; charset=utf-8"); 也不行。
以上两种方都都是在数据库读出来之后,强制以utf-8或GB2312来显示,其实是从库中读出来的时候已经是乱码了,所在应该在查库之前就需要处理
$yucon=mysqli_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd,$cfg_dbname);
mysql_query("set names 'utf8'",$yucon); 在这里设置编码
下面再查库
$yu_sql="SELECT * FROM table name where x=x";
$result = mysqli_query($yucon, $yu_sql);
这样就完美解决输出问号问题