本文目錄一覽:
- 1、如何解決PHP在utf-8編碼下中文顯示亂碼問題?
- 2、php怎樣把utf8轉換為gbk
- 3、如何用php設置utf-8編碼
- 4、php設置成utf-8還是亂碼了怎麼辦
- 5、如何把php文件編碼更改為utf-8
- 6、如何將php文件保存為uft-8格式?
如何解決PHP在utf-8編碼下中文顯示亂碼問題?
如果php文件已經在頭部設置編碼格式為utf-8,在運行的時候還出現亂碼問題,可能是由於文件編碼格式不匹配或者頭部有bom信息輸出導致亂碼。解決辦法:
設置保存文件編碼格式為utf-8;
去掉文件頭部bom信息;
php怎樣把utf8轉換為gbk
?php@header(“Content-type:text/html;charset=UTF-8”);echo $str= ‘你好,這裡是賣咖啡!’;echo ‘br /’;echo iconv(“UTF-8″,”gbk//TRANSLIT”,$str);; //將字元串的編碼從UTF-8轉到GB2312
echo ‘br /’;echo iconv_substr($str, 1, 1, ‘UTF-8’); //按字元個數截取而非位元組print_r(iconv_get_encoding()); //得到當前頁面編碼信息echo iconv_strlen($str, ‘UTF-8’); //得到設定編碼的字元串長度?
gbk轉換為utf8的方法:
?php
@header(“Content-type:text/html;charset=GB2312”);echo $str= ‘你好,這裡是賣咖啡!’;echo ‘br /’;echo iconv(‘GB2312’, ‘UTF-8’, $str); //將字元串的編碼從GB2312轉到UTF-8echo ‘br /’;echo iconv_substr($str, 1, 1, ‘GB2312’); //按字元個數截取而非位元組print_r(iconv_get_encoding()); //得到當前頁面編碼信息echo iconv_strlen($str, ‘GB2312’); //得到設定編碼的字元串長度?
如何用php設置utf-8編碼
在你的源文件找到meta http-equiv=”content-type” content=”text/html;charset=utf-8″charset= 後面接的就是編碼,你全部改了就可以了。如果你改了之後變成亂碼的話,那你就只能先建一個utf-8編碼的網頁,把相應的內容重新輸入進去。
要輸出UTF8格式時,加上以下語句:
header(」Content-Type: text/html; charset=UTF-8″)
php用UTF-8總結:
php文件本身必須是UTF-8編碼。不像Java會生成class文件,避免這個問題
php要輸出頭:header(」Content-Type: text/html; charset=UTF-8″)
meta標籤無所謂,有header所有瀏覽器就會按header來解析
所有外圍都得用UTF8,包括資料庫、×.js、×.css(CSS影響倒不大)
php本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼(基本上的linux都裝了,沒裝的話download、tar、make、make install,很簡單的)
my.ini:
[MySQL(和PHP搭配之最佳組合)]
default-character-set=utf8
[MySQL(和PHP搭配之最佳組合)d]
default-character-set=utf8
default-storage-engine=MyISAM
在[MySQL(和PHP搭配之最佳組合)d]下加入:
default-collation=utf8_bin
init_connect='SET NAMES utf8'
在需要做資料庫操作的php程序前面加上
mb_internal_encoding('utf-8');
create table最後邊加上ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin
phpMyAdmin/config.inc.php
$cfg['DefaultCharset'] = 'utf-8';
$cfg['RecodingEngine'] = 'iconv';
phpAdmin導出數據時
把”二進位區域使用十六進位顯示”的勾去掉
特別鬱悶的:文件系統函數不支持UTF-8!
php設置成utf-8還是亂碼了怎麼辦
有時後php代碼裡邊設置了「header(“Content-type:
text/html;
charset=utf-8″);」不一定會管用,因為有時文件本身格式就是錯誤的,你先把代碼複製到一個txt文件裡邊,然後用代碼工具對php文件進行轉碼成utf-8格式(這時你就會發現裡邊的代碼亂碼了,由其是中文和特殊字元),再把txt裡邊的代碼複製覆蓋原來的php文件內容,然後保存即可,例如用Notepad++
工具
可以對文件本身進行轉碼
如何把php文件編碼更改為utf-8
與 php 編碼有關的,有兩處地方:
1、php 文件本身的編碼格式:
根據使用 php 編寫軟體的不同,其操作方法有所區別,比如 phpDesigher 軟體:
2、php 文件內容里,需要設置供瀏覽器進行解析時需要的編碼格式:
在 PHP 文件代碼里,插入
header(“Content-type: text/html; charset=utf-8”);
相當於 html 的
meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /
如何將php文件保存為uft-8格式?
這個簡單,我一般用
NotePad++
這個軟體,用它打開PHP文件,然後選擇「格式」菜單下的「轉換為UTF-8編碼」,然後保存即可。如果你不想下載軟體,就用系統自帶的記事本打開也是一樣的,右鍵選擇你的PHP文件,選擇「打開方式」(如果沒有這個菜單,請重來,按住SHIFT鍵再選中PHP文件,右鍵點擊,這時就有了),選擇記事本打開,然後「另存為」,在裡面選擇格式UTF-8即可。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/293708.html