数据库中的中文字符显示为utf8编码??

新生小屋 发布于 2013/08/29 19:10
阅读 268
收藏 0
ubuntu系统下,用PHP将中文字符写入到数据库中,但是在数据库中浏览时中文字符显示为utf8编码,创建的中文名文件夹也显示为utf8编码 。。。 求大神解答啊
加载中
0
王瑞平
王瑞平
PHP什么编码?写库是怎么设置的编码?
新生小屋
php为gbk编码 数据库也是设置为gbk编码
0
王瑞平
王瑞平

php编码是要检查四处:(1)php文件保存编码(2)php文件head头部编码设置(3)写库set char(4)数据库表和字段编码 注意每个字段编码都可能不一样

都统一了才能正确显示

0
新生小屋

引用来自“王瑞平”的答案

php编码是要检查四处:(1)php文件保存编码(2)php文件head头部编码设置(3)写库set char(4)数据库表和字段编码 注意每个字段编码都可能不一样

都统一了才能正确显示

<?php
  header("Content-Type: text/html; charset=gbk");


 $newDirname="%4E2D";
   $newDirname = str_ireplace("%",";&#x",$newDirname);
   $newDirname = substr($newDirname,1);      //$newDirname                      为“中”的utf8编码
      $newDirname1 = utf8_decode($newDirname);
rename('haha',$newDirname1);
?>我的程序是将haha文件夹改名为“中”,但是更改结果却是中的utf8编码“&#x4E2D” 这是为什么啊??我的PHP编码为gbk。。。请指教啊
0
王瑞平
王瑞平

&#x4E2D不是UTF编码,是ANSI(你这里是GBK)转换成UNICODE编码了

你用editplus重新保存php文件,编码选择UTF-8即可;UTF是这样的\u4567


0
mark35
mark35

linux下面系统默认编码是utf-8:你创建的文本文件内容编码是utf-8,文件名本身也是utf-8编码

中文版windows下面创建的文件无论是内容还是文件名本身都是gbk编码(CP936)

返回顶部
顶部