『壹』 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。