PHP頁面編碼問題

來源:互聯網
上載者:User
頁面編碼統一 

MySQL資料庫編碼、html頁面編碼、PHP或html檔案本身編碼要全部一致。
1、MySQL資料庫編碼:建立資料庫時指定編碼(如gbk_chinese_ci),建立資料表、建立欄位、插入資料時不要指定編碼,會自動繼承資料庫的編碼。
資料庫連接時,也有編碼,可以在串連完資料庫後,執行
mysql_query(‘SET NAMES gbk’);//將gbk換成你的編碼,如utf8。
2、html頁面的編碼,指的是這一行的設定:
<meta http-equiv=”Content-Type” content=”text/html; charset=gbk” />
3、PHP或html檔案本身的編碼:用editplus開啟php檔案或html檔案,另存時,選擇的編碼,如果資料庫和頁面編碼是gbk,則這兒的編碼選擇ansi;如果資料庫和頁面編碼是utf-8,則這兒也選擇utf-8。

4、另外要注意的是,Javascript或Flash中傳遞的資料是utf-8編碼,如果資料庫和頁面編碼是gbk,要進行轉碼,然後寫入資料庫。
iconv(‘utf-8′, ‘gbk’, $content);
5、在PHP程式中,可以加上一行,來指定PHP來源程式的編碼:
header(‘Content-type: text/html; charset=gbk’);

php頁面編碼 

1.在檔案頭中設定編碼
<?php
@header(‘Content-type: text/html;charset=UTF-8′);
>?
2.沒用過header,這樣設定不知道和<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>有什麼區別,跟瀏覽器查看有什麼關係??? [/quote]
他們都是告訴瀏覽器用什麼編碼顯示網頁,要說有什麼不同,一個是發送原始 HTTP 標題,不在網頁中留下什麼,而你說的這個是寫在網頁中。
其一,如果網頁中沒有你寫的這個,那麼發送 HTTP 標題就起作用了。
其二,用header()函數發送原始 HTTP 標題,可以包含更多內容,設定編碼只是其中之一。
其三,有些時候不要網頁顯示什麼內容,但要通知瀏覽器用什麼編碼來進行後續動作。
3
<?php
//此函數判斷一個字串是否是中文字元
function chkGB($str){
if   (preg_match(“/^[".chr(0xa1)."-".chr(0xff)."]+$/”, $str)) {
   return true;
} else {
   return false;
}
}
//if(chkGB(‘的’)){
// echo ‘你好’;
//}else{
// echo “不好”;
//}
function tep_limit_string($str_show,$length,$post_string=’…’){
$mn_curr=0;
$str_output=”;
$str_show=trim($str_show);
for ($i=0;$i<strlen($str_show);$i++){
   $str_tmp=substr($str_show,$i,1);
//   echo [...]

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.