在你的源文件找到meta http-equiv="content-type" content="text/html;charset=utf-8"charset= 后面接的就是編碼,你全部改了就可以了。如果你改了之后變成亂碼的話,那你就只能先建一個(gè)utf-8編碼的網(wǎng)頁,把相應(yīng)的內(nèi)容重新輸入進(jìn)去。
成都創(chuàng)新互聯(lián)公司是專業(yè)的章貢網(wǎng)站建設(shè)公司,章貢接單;提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行章貢網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
要輸出UTF8格式時(shí),加上以下語句:
header(”Content-Type: text/html; charset=UTF-8″)
php用UTF-8總結(jié):
php文件本身必須是UTF-8編碼。不像Java會(huì)生成class文件,避免這個(gè)問題
php要輸出頭:header(”Content-Type: text/html; charset=UTF-8″)
meta標(biāo)簽無所謂,有header所有瀏覽器就會(huì)按header來解析
所有外圍都得用UTF8,包括數(shù)據(jù)庫、×.js、×.css(CSS影響倒不大)
php本身不是Unicode的,所有substr之類的函數(shù)得改成mb_substr(需要裝mbstring擴(kuò)展);或者用iconv轉(zhuǎn)碼(基本上的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'
在需要做數(shù)據(jù)庫操作的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導(dǎo)出數(shù)據(jù)時(shí)
把"二進(jìn)制區(qū)域使用十六進(jìn)制顯示"的勾去掉
特別郁悶的:文件系統(tǒng)函數(shù)不支持UTF-8!
試試把下面類似語句放到連接語句之后
mysql_query("SET?NAMES?UTF8");
或 PDO
$dbh-exe("SET?NAMES?UTF8");
用 SET NAMES UTF8 校正一下連接編碼
因?yàn)镻HP 連接數(shù)據(jù)庫的過程中會(huì)經(jīng)過三次編碼轉(zhuǎn)換,比如輸出的的時(shí)候
MySql Server(UTF-8) - PHP Connection( Latin1) - UTF8頁面的Result(UTF-8) 這時(shí)兩種編碼不兼容則產(chǎn)生亂碼。
兩邊入手,
PHP,需要設(shè)置頁面編碼,加一行代碼:
header('Content-Type:text/html;charset=utf-8');
這樣就把輸出編碼改為了UTF-8
但是,MySQL也要設(shè)置,那就是連接到數(shù)據(jù)庫之后再加一行
mysql_query("SET
NAMES
`UTF-8`");
即可
當(dāng)然,你得保證你的數(shù)據(jù)庫的字符集是UTF-8
如果仍然出錯(cuò),那就說明數(shù)據(jù)庫的字符集配置有問題