你的php網頁亂碼了嗎

2021-09-21 10:06:23 字數 2825 閱讀 6292

一、

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

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

1<metacharset="utf-8">

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

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

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

環境:win7+wamp2.2

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

二、

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

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

1show variableslike'char%';

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

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

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

沒有的話在[client]下面新增上

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

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

1show variableslike'char%';

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

三、

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

解決辦法:

1、使用notepad++開啟該網頁檔案,然後在「格式」--「轉為utf-8無bom編碼格式」

2、儲存一下就好了

問題分析:

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

1<?php  mysql_query('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編碼!

你的專案亂碼了嗎?

專案中遇到亂碼很正常,特別是和別的專案對接時更是尋常,這週在專案中解決的get亂碼問題,場景是乙個tomcat下執行了新老2個專案,其中老專案編碼是gbk的,而新介面專案是採用utf 8編碼,現在主要的問題是因為tomcat的server.xml中的埠配置了 uriencoding gbk 這就會導...

php在瀏覽器上顯示亂碼 你的php網頁亂碼了嗎

一 學習php的童鞋在編寫網頁的時候,要是設計到中文內容的儲存的時候,大多會出現乙個問題就是亂碼。一般亂碼的話,我們可以檢查三個方面 1 網頁編碼是否正確,比如是否在頭部那裡加入原標籤 2 檢查mysql資料庫儲存時預設使用的字符集 3 檢查網頁檔案的編碼,是否為對應的中文編碼 環境 win7 wa...

關於PHP站點網頁亂碼的問題

該 編輯字符集為 utf 8 與html檔案的頭資訊meta設定charset相同,與php7 apache24站點設定預設的charset相同。使用ie10 chrome77 從本地磁碟開啟檔案結果顯示正常,但是以站點訪問瀏覽網頁的方式開啟該html檔案卻出現亂碼問題 除了英文本元,皆是無法直接閱...