你的php網頁亂碼了嗎_PHP教程

來源:互聯網
上載者:User

你的php網頁亂碼了嗎


  一、

  學習php的童鞋在編寫網頁的時候,要是設計到中文內容的儲存的時候,大多會出現一個問題就是亂碼。一般亂碼的話,我們可以檢查三個方面

  (1)網頁編碼是否正確,比如是否在頭部那裡加入原標籤

  meta charset="UTF-8">

  (2)檢查mysql資料庫儲存時預設使用的字元集

  (3)檢查網頁檔案的編碼,是否為對應的中文編碼

  ------------------

  環境:win7+wamp2.2

  ------------------

  二、

  下面我們就第二點開始,mysq資料庫使用的編碼字元集

  (1)開啟mysql終端,查看當前的設定,確定要修改的範圍

  show variables like 'char%';

  (2)根據結果進行分析,

  1、如果你顯示的結果和我的差不多,即(只有character_set_system編碼為utf8)那麼清跟隨下面的腳步一步步來

  2、開啟my.ini檔案,搜尋關鍵詞'mysqld',找到之後,觀察是否有這一行

  character_set_server = utf8

  倘若沒有的話,則應該像我這樣在其下面添加一句

  3、再次搜尋關鍵詞'client',觀察是否有這一行

  default_character_set = utf8

  沒有的話在[client]下面添加上

  4、儲存,重啟mysql服務,關閉mysql終端(不然看到的用戶端編碼不會更新)

  5、再次開啟終端,我們再次輸入

  show variables like 'char%';

  倘若出現下面的結果,即mysql資料設定成功

  三、

  網頁檔案編碼這個問題最容易被忽略,這個是在儲存的時候,選擇儲存檔案編碼的格式時設定的。

  解決辦法:

  1、使用notepad++開啟該網頁檔案,然後在“格式”--“轉為UTF-8無BOM編碼格式”

  2、儲存一下就好了

  問題分析:

  1、我在編寫php的時候已經使用過

  "font-size:18px;">'set names utf8'); ?>

  但是還是出現亂碼問題!

  分析:使用上面語句,修改的只是三項,這三項分別為

  character_set_client

  character_set_connection

  character_set_results

  而且這種修改只是臨時性的,關閉終端後又和原來一樣

  圖片說明:

  2、我們對於第三個亂碼問題進行分析一下

  (1)使用sublime text3編輯開啟php檔案。可以看到左下角有編碼的資訊,可以看到,目前的編碼為gb2312

  (2)當網頁載入的時候,那時也就相當於開啟一個檔案,那時讀取的格式時按照gb2312的編碼來讀取網頁檔案,而在使用者瀏覽器顯示時,因為網頁聲明了字元集為utf-8,所以會將得到檔案按utf-8字元集來解釋內容,這是就會出現亂碼了,而我們那些從資料庫讀取出來的內容卻沒有問題

  網頁編碼

  原來的gbk編碼的檔案

  後來utf-8編碼的檔案

  (3)注意一點,sublime text3 的轉換編碼的時候不太給你,雖然顯示轉換成功,可是呢?顯示還是依舊,還是我們的notepad++給力一點,怎麼修改前面有!轉換成功之後

  3、為什麼我按照你所說的修改了,在mysql終端下顯示,還是亂碼呢?

  分析:

  (1)我們先來看看windows下的cmd的使用的字元集是什麼?

  可以看到,cmd的字元集是gbk,也就是說任何在終端顯示的內容會以對應gbk這個字元集,但是我們資料庫的中文設定的utf8這個字元集,當我們要顯示時,自然會以utf8編碼的讀取資料庫資料,那時編碼為utf-8,一到終端就亂套了

  (2)那該怎麼查看呢?

  使用phpmyadmin就好了打,當然得設定我們使用的utf-8編碼!

:更多精彩教程請關注幫客之家圖文教程 頻道,

http://www.bkjia.com/PHPjc/1022667.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1022667.htmlTechArticle你的php網頁亂碼了嗎 一、 學習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.