‘壹’ php怎么显示出图片
不要用记事本直接编辑PHP文件,因为可能会存在bom头信息,导致图片不能正常显示,你可以自行网络bom头信息,建议使用编辑器notepad++,可以去除文件bom头,图片就会正常显示
‘贰’ 如何解决PHP在utf-8编码下中文显示乱码问题
文件属性设置为utf-8格式
在文件头部设定字符编码
header("Content-type:text/html;charset=utf-8");
‘叁’ UTF-8编码怎么去掉BOM头
方法一:用Ultraedit或Editplus打开PHP文件,另存为无Bom的utf-8文件方法二:用Dreamweaver去除Bom头首肆液 菜单雹察–修改–页面属性 或者ctrl+j打开页面属性窗口,点寻标题/编码”去掉“包括Unicode签名者物Bom”前的勾 有Bom的文件太多?这样太麻烦...
‘肆’ 什么是BOM头,及PHP解决办法
类似WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件,这样并不会产生什么麻烦。但对于 PHP来说,BOM是个大麻烦。
PHP并不会忽略BOM,所以在读取、包含或者引用这些文件时,会把BOM作为该文件开头正文的一部分。根据嵌入式语言的特点,这串字符将被直接执行(显示)出来。由此造成即使页面的 top padding 设置为0,也无法让整个网页紧贴浏览器顶部,因为在html一开头有这3个字符呢!
window编辑器如果保存为utf8文件就会帮你加上BOM头,以告诉其他编辑器以utf8来显示字符
但是在网页上并不需要添加BOM头识别,因为网页上可以使用 head头 指定charset=utf8告诉浏览器用utf8来解释.但是你用window自动的编辑器,编辑,然后有显示在网页上这样就会显示出0xEF 0xBB 0xBF这3个字符。
这样网页上就需要去除0xEF 0xBB 0xBF,可以使用editplus 选择不带BOM的编码,这样就可以去除了
php去除BOM头:
复制代码
function rmBOM($string)
{
if (substr($string, 0,3) == pack('CCC',0xef,0xbb,0xbf))
{
$string = substr($string, 3);
}
return $string;
}
‘伍’ 什么是Bom头 怎样去除PHP文件的Bom头
方桐漏凳法一:用Ultraedit或Editplus打开PHP文件,另存局旅为无Bom的utf-8文件方法二:用Dreamweaver去除Bom头
菜单–修改–页面属性 或者ctrl+j打开页面属性窗口,点选“标题/编码”去掉“包括Unicode签名Bom”前的勾
有Bom的文件太多?这样太麻烦?当然有更好的方法!方法三:用php文件批量去除bom头 将以下这段代码保存为php文件,上传到服务器,用浏览器访问它!<?phpif (isset($_GET['dir'])){ //设置文件目搜兆录
$basedir=$_GET['dir'];}else{$basedir = '.';}$auto = 1;checkdir($basedir);
function checkdir($basedir){
if ($dh = opendir($basedir)) {
while (($file = readdir($dh)) !== false) {
if ($file != '.' && $file != '..'){
if (!is_dir($basedir./.$file)) {
echo filename: $basedir/$file .checkBOM($basedir/$file). ;}else{$dirname = $basedir./.$file;
checkdir($dirname);}}}closedir($dh);}}function checkBOM ($filename) {
global $auto;
$contents = file_get_contents($filename);
$charset[1] = substr($contents, 0, 1);
$charset[2] = substr($contents, 1, 1);
$charset[3] = substr($contents, 2, 1);
if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) {
if ($auto == 1) {
$rest = substr($contents, 3);
rewrite ($filename, $rest);
return (<font color=redBOM found, automatically removed.</font);} else {return (<font color=redBOM found.</font);}}else return (BOM Not Found.);}function rewrite ($filename, $data) {
$filenum = fopen($filename, w);
flock($filenum, LOCK_EX);
fclose($filenum);}?还用记事本保存?那你真是智商捉急了!
‘陆’ php读取文件时多了个%ufeff,怎样去掉
这是一个文件BOM头,是用来声明UTF-8的,
做法有两种,
1、那个文件在保存的时候选择UTF-8无BOM,或者一些编辑器做去除BOM处理。
2、就是通过PHP,过滤掉BOM。