本文目錄一覽:
如何用php設置utf-8編碼
在你的源文件找到meta http-equiv=”content-type” content=”text/html;charset=utf-8″charset= 後面接的就是編碼,你全部改了就可以了。如果你改了之後變成亂碼的話,那你就只能先建一個utf-8編碼的網頁,把相應的內容重新輸入進去。
要輸出UTF8格式時,加上以下語句:
header(」Content-Type: text/html; charset=UTF-8″)
php用UTF-8總結:
php文件本身必須是UTF-8編碼。不像Java會生成class文件,避免這個問題
php要輸出頭:header(」Content-Type: text/html; charset=UTF-8″)
meta標籤無所謂,有header所有瀏覽器就會按header來解析
所有外圍都得用UTF8,包括數據庫、×.js、×.css(CSS影響倒不大)
php本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼(基本上的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'
在需要做數據庫操作的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導出數據時
把”二進制區域使用十六進制顯示”的勾去掉
特別鬱悶的:文件系統函數不支持UTF-8!
PHP中文亂碼怎麼解決?
最好最快的解決辦法就是使頁面申明的編碼與數據庫內部編碼一致,如果頁面申請的編碼與數據庫內部的編碼不一致時,那就設定連接編碼。Mysql_query(「set
names
***」).
php文件本身的編碼與網頁的編碼應匹配,如果欲使用gb2312編碼,那麼php要輸出頭
代碼如下:
header(「Content-type:text/html;charset=gb2312」)
靜態頁面添加
代碼如下:
meta
http-equiv=」Content-type」content=」text/html;
charset=gb2312」,所有文件的編碼格式為ANSI,可用記事本打開,另存為選擇編碼為ANSI,覆蓋源文件。
如果欲使用uft-8編碼,那麼php要輸出頭
代碼如下:
header(「Content-type:text/html;
charset=utf-8」),
靜態頁面添加
代碼如下:
meta
http-equiv=」Content-type」content=」text/html;
charset=utf-8」,
所有文件的編碼格式為utf-8.保存為utf-8可能會有點麻煩,一般utf-8開頭會有BOM,如果使用
Session就會出現問題,可用editplus軟件來保存。
我也是從這裡得知:
PHP 輸出簡單的中文 亂碼問題
解決php中中文亂碼問題方法
php文件本身的編碼與網頁的編碼應匹配
a. 如果欲使用gb2312編碼,那麼php要輸出頭:header(「Content-Type: text/html; charset=gb2312″),靜態頁面添加meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″,所有文件的編碼格式為ANSI,可用記事本打開,另存為選擇編碼為ANSI,覆蓋源文件。
b. 如果欲使用utf-8編碼,那麼php要輸出頭:header(「Content-Type: text/html; charset=utf-8″),靜態頁面添加meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″,所有文件的編碼格式為utf-8。保存為utf-8可能會有點麻煩,一般utf-8文件開頭會有BOM,如果使用session就會出問題,可用editplus來保存,在editplus中,工具-參數選擇-文件-UTF-8簽名,選擇總是刪除,再保存就可以去掉BOM信息了。
php本身不是Unicode的,所有substr之類的函數得改成mb_substr(需要裝mbstring擴展);或者用iconv轉碼。
如果你的HTML文件文件出現了亂碼問題,那麼你可以在head標籤裏面加入UTF8編碼(國際化編碼):UTF-8是沒有國家的編碼,也就是獨立於任何一種語言,任何語言都可以使用的。
擴展資料:
解決PHP 輸出簡單的中文 亂碼問題的其他方法:
在php的echo前面加入header(“Content-Type:text/html;charset=gb2312”)
把meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ /中的UTF-8改成gb2312
參考資料:
百度百科-PHP
php頁面的要怎麼設置編碼
要使字符編碼正確顯示出來,需要3個地方的編碼設置是一樣的:
1、頁面編碼
header(“Content-type:text/html;charset=utf-8”);
2、頁面的文件編碼使用 utf8
3、 數據庫里的數據使用 utf8 編碼
php文件echo輸出中文亂碼,apache要怎樣設置
輸出亂碼在apache中解決不了,應該在頁面中
頭部
charset=utf8
或者charset=gb2312
如果涉及到數據庫
還應該在my.ini中設置。
當然有時候也可能是瀏覽器的編碼,點右鍵
編碼:utf8或者gb2312或者其他
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/249248.html