網站開發筆記【二】php的亂碼問題解決

來源:互聯網
上載者:User

標籤:des   style   blog   color   os   io   ar   檔案   資料   

php亂碼問題主要是由於中文的編碼問題導致的,中文的編碼一般用到的以gbk,utf8居多。

為了使中文編碼不再亂碼,解決方案如下:

1.在php中加上header("Content-type: text/html; charset=utf-8");這句話一定要在php的<?php 標記之後的第一句話開始。

即

<?phpheader("Content-type: text/html; charset=utf-8");//added code ?>

2.設定資料庫連接為utf-8編碼,在操作資料庫之前,這樣聲明

<?phpheader("Content-type: text/html; charset=utf-8");//codemysql_query("set names ‘utf8‘");//資料庫操作....?>

 

3.資料庫的編碼設定為utf-8(以mysql為例子)

查詢字元集的方法:

 

我們在更改資料庫字元集的時候這樣做:1.擁有資料庫設定檔的修改許可權(可以修改my.ini):

如:在my.ini檔案中找到下面的配置:

  default-character-set = utf8
      character_set_server =  utf8

 

2.沒有修改my.ini的配置許可權(一般是在雲主機上)

可以在phpAdmin中這樣設定:

 

或者是執行sql命令:

  mysql> SET character_set_client = utf8 ;
     mysql> SET character_set_connection = utf8 ;
     mysql> SET character_set_database = utf8 ;
     mysql> SET character_set_results = utf8 ;
     mysql> SET character_set_server = utf8 ;
     mysql> SET collation_connection = utf8 ;
     mysql> SET collation_database = utf8 ;
     mysql> SET collation_server = utf8 ;

 

最後,如果在進行上述的操作,即:資料庫的編碼是utf8,資料表的編碼是utf8,資料表欄位的編碼也是utf8,

這樣仍然出現亂碼的原因可能是在資料庫連接的時候出現問題(資料庫連接可能需要外部傳入的參數,這個參數的編碼也很重要)

這樣的話我們要這樣設定:

SET NAMES ‘utf8‘;

及在資料庫執行操作之前加上這麼一句:它的作用等同於:

 

網站開發筆記【二】php的亂碼問題解決

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.