PHP 页é¢ç¼ç 声ææ¹æ³è¯¦è§£(headeræmeta)_PHPæç¨
程序员文章站
2022-05-01 11:37:39
...
phpçheaderæ¥å®ä¹ä¸ä¸ªphp页é¢ä¸ºutfç¼ç æGBKç¼ç
php页é¢ä¸ºutfç¼ç
header("Content-type: text/html; charset=utf-8");
php页é¢ä¸ºgbkç¼ç
header("Content-type: text/html; charset=gb2312");
php页é¢ä¸ºbig5ç¼ç
header("Content-type: text/html; charset=big5");
é常æ åµä»¥ä¸ä»£ç æ¾å¨php页é¢çé¦é¡µ
ç¨headeræmetaå®ç°PHP页é¢ç¼ç çåºå«
ä¸ã页é¢ç¼ç
1. ä½¿ç¨ æ ç¾è®¾ç½®é¡µé¢ç¼ç
è¿ä¸ªæ ç¾çä½ç¨æ¯å£°æ客æ·ç«¯çæµè§å¨ç¨ä»ä¹å符éç¼ç æ¾ç¤ºè¯¥é¡µé¢ï¼xxxå¯ä»¥ä¸ºGB2312ï¼GBKï¼UTF-8ï¼åMySQLä¸åï¼MySQLæ¯ UTF8ï¼ççãå æ¤ï¼å¤§é¨å页é¢å¯ä»¥éç¨è¿ç§æ¹å¼æ¥åè¯æµè§å¨æ¾ç¤ºè¿ä¸ªé¡µé¢çæ¶åéç¨ä»ä¹ç¼ç ï¼è¿æ ·æä¸ä¼é æç¼ç é误è产çä¹±ç ãä½æ¯æçæ¶åæä»¬ä¼ åç°æäºè¿å¥è¿æ¯ä¸è¡ï¼ä¸ç®¡xxxæ¯åªä¸ç§ï¼æµè§å¨éç¨çå§ç»é½æ¯ä¸ç§ç¼ç ï¼è¿ä¸ªæ åµæåé¢ä¼è°å°ã
请注æï¼æ¯å±äºhtmlä¿¡æ¯çï¼ä» ä» æ¯ä¸ä¸ªå£°æï¼å®èµ·ä½ç¨è¡¨ææå¡å¨å·²ç»æHTMLä¿¡æ¯ä¼ å°äºæµè§å¨ã
2. header("content-type:text/html; charset=xxx");
è¿ä¸ªå½æ°header()çä½ç¨æ¯ææ¬å·éé¢çä¿¡æ¯åå°httpæ 头ã
å¦ææ¬å·éé¢çå 容为æä¸æ说é£æ ·ï¼é£ä½ç¨åæ ç¾åºæ¬ç¸åï¼å¤§å®¶å¯¹ç §ç¬¬ä¸ä¸ªçåç°å符é½å·®ä¸å¤çãä½æ¯ä¸åçæ¯å¦ææè¿æ®µ å½æ°ï¼æµè§å¨å°±ä¼æ°¸è¿éç¨ä½ æè¦æ±çxxxç¼ç ï¼ç»å¯¹ä¸ä¼ä¸å¬è¯ï¼å æ¤è¿ä¸ªå½æ°æ¯å¾æç¨çã为ä»ä¹ä¼è¿æ ·å¢ï¼é£å°±å¾è¯´è¯´HTTPSæ 头åHTMLä¿¡æ¯çå·® å«äºï¼
httpsæ 头æ¯æå¡å¨ä»¥HTTPåè®®ä¼ éHTMLä¿¡æ¯å°æµè§å¨åæéåºçå串ã
å 为metaæ ç¾æ¯å±äºhtmlä¿¡æ¯çï¼æ以header()åéçå 容å å°è¾¾æµè§å¨ï¼éä¿ç¹å°±æ¯header()çä¼å 级é«äºmetaï¼ä¸ç¥éå¯ ä¸å¯ä»¥è¿æ ·è®²ï¼ãå å ¥ä¸ä¸ªphp页é¢æ¢æheader("content-type:text/html; charset=xxx")ï¼åæï¼æµè§å¨å°±åªè®¤åè httpæ 头èä¸è®¤metaäºãå½ç¶è¿ä¸ªå½æ°åªè½å¨php页é¢å 使ç¨ã
åæ ·ä¹çæä¸ä¸ªé®é¢ï¼ä¸ºä»ä¹åè å°±ç»å¯¹èµ·ä½ç¨ï¼èåè ææ¶åå°±ä¸è¡å¢ï¼è¿å°±æ¯æ¥ä¸æ¥è¦è°çApacheçåå äºã
3. AddDefaultCharset
Apache æ ¹ç®å½ç conf æ件夹éï¼ææ´ä¸ªApacheçé ç½®ææ¡£httpd.confã
ç¨ææ¬ç¼è¾å¨æå¼httpd.confï¼ç¬¬708è¡ï¼ä¸åçæ¬å¯è½ä¸åï¼æAddDefaultCharset xxxï¼xxx为ç¼ç å称ãè¿è¡ä»£ç çææï¼è®¾ç½®æ´ä¸ªæå¡å¨å çç½é¡µæ件httpsæ 头éçå符éä¸ºä½ é»è®¤çxxxå符éãæè¿è¡ï¼å°±ç¸å½äºç»æ¯ä¸ªæä»¶é½ å äºä¸è¡header("content-type:text/html; charset=xxx")ãè¿ä¸å°±æç½ä¸ºä»ä¹ææmeta设置äºæ¯utf-8ï¼å¯æµè§å¨å§ç»éç¨gb2312çåå ã
å¦æç½é¡µéæheader("content-type:text/html; charset=xxx")ï¼å°±æé»è®¤çå符éæ¹ä¸ºä½ 设置çå符éï¼æ以è¿ä¸ªå½æ°æ°¸è¿æç¨ãå¦ææAddDefaultCharset xxxåé¢å 个â#âï¼æ³¨éæè¿å¥ï¼èä¸é¡µé¢éä¸å«header("content-typeâ¦")ï¼é£è¿ä¸ªæ¶å就轮å°metaæ ç¾èµ·ä½ç¨äºã
æ»ç»ï¼
æ¥ä¸ªæåº
header("content-type:text/html; charset=xxx")
AddDefaultCharset xxx
å¦æä½ æ¯webç¨åºåï¼ç»ä½ çæ¯ä¸ªé¡µé¢é½å 个header("content-type:text/html; charset=xxx")ï¼ä¿è¯å®å¨ä»»ä½æå¡å¨é½è½æ£ç¡®æ¾ç¤ºï¼å¯ç§»æ¤æ§å¼ºã
è³äºé£å¥AddDefaultCharset xxxï¼è¦ä¸è¦æ³¨éå°±ä»è è§ä»äºãåæ£ææ¯æ³¨éæäºï¼ä¸è¿æå页åä¹è¦åheader()ï¼ä¾¿äºæ¾å°æå¡å¨ä¸è½æ£å¸¸æ¾ç¤ºã
äºãæ°æ®åºç¼ç
PHP ç¨åºå¨æ¥è¯¢æ°æ®åºä¹åï¼é¦å æ§è¡ mysql_query(âSET NAMES xxxxâ);å ¶ä¸ xxxx æ¯ä½ ç½é¡µçç¼ç (charset=xxxx)ï¼å¦æç½é¡µä¸ charset=utf8ï¼å xxxx=utf8ï¼å¦æç½é¡µä¸ charset=gb2312ï¼åxxxx=gb2312ï¼å ä¹ææWEBç¨åºï¼é½æä¸æ®µè¿æ¥æ°æ®åºçå ¬å ±ä»£ç ï¼æ¾å¨ä¸ä¸ªæ件éï¼å¨è¿æ件éï¼å å ¥ mysql_query(âset namesâ)å°±å¯ä»¥äºã
SET NAMES æ¾ç¤ºå®¢æ·ç«¯åéç SQL è¯å¥ä¸ä½¿ç¨ä»ä¹å符éãå æ¤ï¼SET NAMES 'utf-8'è¯å¥åè¯æå¡å¨âå°æ¥ä»è¿ä¸ªå®¢æ·ç«¯ä¼ æ¥çä¿¡æ¯éç¨å符éutf-8âãå®è¿ä¸ºæå¡å¨åéå客æ·ç«¯çç»ææå®äºå符éãï¼ä¾å¦ï¼å¦æä½ ä½¿ç¨ä¸ 个SELECTè¯å¥ï¼å®è¡¨ç¤ºåå¼ä½¿ç¨äºä»ä¹å符éãï¼
PHP页é¢ç¼ç ç»ä¸
MySQLæ°æ®åºç¼ç ãhtml页é¢ç¼ç ãPHPæhtmlæ件æ¬èº«ç¼ç è¦å ¨é¨ä¸è´ã
ãã1ãMySQLæ°æ®åºç¼ç ï¼å»ºç«æ°æ®åºæ¶æå®ç¼ç ï¼å¦gbk_chinese_ci)ï¼å»ºç«æ°æ®è¡¨ã建ç«å段ãæå ¥æ°æ®æ¶ä¸è¦æå®ç¼ç ï¼ä¼èªå¨ç»§æ¿æ°æ®åºçç¼ç ã
æ°æ®åºè¿æ¥æ¶ï¼ä¹æç¼ç ï¼å¯ä»¥å¨è¿æ¥å®æ°æ®åºåï¼æ§è¡
mysql_query('SET NAMES gbk');//å°gbkæ¢æä½ çç¼ç ï¼å¦utf8ã
ãã2ãhtml页é¢çç¼ç ï¼æçæ¯è¿ä¸è¡ç设置ï¼
ãã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页é¢ä¸ºutfç¼ç
header("Content-type: text/html; charset=utf-8");
php页é¢ä¸ºgbkç¼ç
header("Content-type: text/html; charset=gb2312");
php页é¢ä¸ºbig5ç¼ç
header("Content-type: text/html; charset=big5");
é常æ åµä»¥ä¸ä»£ç æ¾å¨php页é¢çé¦é¡µ
ç¨headeræmetaå®ç°PHP页é¢ç¼ç çåºå«
ä¸ã页é¢ç¼ç
1. ä½¿ç¨ æ ç¾è®¾ç½®é¡µé¢ç¼ç
è¿ä¸ªæ ç¾çä½ç¨æ¯å£°æ客æ·ç«¯çæµè§å¨ç¨ä»ä¹å符éç¼ç æ¾ç¤ºè¯¥é¡µé¢ï¼xxxå¯ä»¥ä¸ºGB2312ï¼GBKï¼UTF-8ï¼åMySQLä¸åï¼MySQLæ¯ UTF8ï¼ççãå æ¤ï¼å¤§é¨å页é¢å¯ä»¥éç¨è¿ç§æ¹å¼æ¥åè¯æµè§å¨æ¾ç¤ºè¿ä¸ªé¡µé¢çæ¶åéç¨ä»ä¹ç¼ç ï¼è¿æ ·æä¸ä¼é æç¼ç é误è产çä¹±ç ãä½æ¯æçæ¶åæä»¬ä¼ åç°æäºè¿å¥è¿æ¯ä¸è¡ï¼ä¸ç®¡xxxæ¯åªä¸ç§ï¼æµè§å¨éç¨çå§ç»é½æ¯ä¸ç§ç¼ç ï¼è¿ä¸ªæ åµæåé¢ä¼è°å°ã
请注æï¼æ¯å±äºhtmlä¿¡æ¯çï¼ä» ä» æ¯ä¸ä¸ªå£°æï¼å®èµ·ä½ç¨è¡¨ææå¡å¨å·²ç»æHTMLä¿¡æ¯ä¼ å°äºæµè§å¨ã
2. header("content-type:text/html; charset=xxx");
è¿ä¸ªå½æ°header()çä½ç¨æ¯ææ¬å·éé¢çä¿¡æ¯åå°httpæ 头ã
å¦ææ¬å·éé¢çå 容为æä¸æ说é£æ ·ï¼é£ä½ç¨åæ ç¾åºæ¬ç¸åï¼å¤§å®¶å¯¹ç §ç¬¬ä¸ä¸ªçåç°å符é½å·®ä¸å¤çãä½æ¯ä¸åçæ¯å¦ææè¿æ®µ å½æ°ï¼æµè§å¨å°±ä¼æ°¸è¿éç¨ä½ æè¦æ±çxxxç¼ç ï¼ç»å¯¹ä¸ä¼ä¸å¬è¯ï¼å æ¤è¿ä¸ªå½æ°æ¯å¾æç¨çã为ä»ä¹ä¼è¿æ ·å¢ï¼é£å°±å¾è¯´è¯´HTTPSæ 头åHTMLä¿¡æ¯çå·® å«äºï¼
httpsæ 头æ¯æå¡å¨ä»¥HTTPåè®®ä¼ éHTMLä¿¡æ¯å°æµè§å¨åæéåºçå串ã
å 为metaæ ç¾æ¯å±äºhtmlä¿¡æ¯çï¼æ以header()åéçå 容å å°è¾¾æµè§å¨ï¼éä¿ç¹å°±æ¯header()çä¼å 级é«äºmetaï¼ä¸ç¥éå¯ ä¸å¯ä»¥è¿æ ·è®²ï¼ãå å ¥ä¸ä¸ªphp页é¢æ¢æheader("content-type:text/html; charset=xxx")ï¼åæï¼æµè§å¨å°±åªè®¤åè httpæ 头èä¸è®¤metaäºãå½ç¶è¿ä¸ªå½æ°åªè½å¨php页é¢å 使ç¨ã
åæ ·ä¹çæä¸ä¸ªé®é¢ï¼ä¸ºä»ä¹åè å°±ç»å¯¹èµ·ä½ç¨ï¼èåè ææ¶åå°±ä¸è¡å¢ï¼è¿å°±æ¯æ¥ä¸æ¥è¦è°çApacheçåå äºã
3. AddDefaultCharset
Apache æ ¹ç®å½ç conf æ件夹éï¼ææ´ä¸ªApacheçé ç½®ææ¡£httpd.confã
ç¨ææ¬ç¼è¾å¨æå¼httpd.confï¼ç¬¬708è¡ï¼ä¸åçæ¬å¯è½ä¸åï¼æAddDefaultCharset xxxï¼xxx为ç¼ç å称ãè¿è¡ä»£ç çææï¼è®¾ç½®æ´ä¸ªæå¡å¨å çç½é¡µæ件httpsæ 头éçå符éä¸ºä½ é»è®¤çxxxå符éãæè¿è¡ï¼å°±ç¸å½äºç»æ¯ä¸ªæä»¶é½ å äºä¸è¡header("content-type:text/html; charset=xxx")ãè¿ä¸å°±æç½ä¸ºä»ä¹ææmeta设置äºæ¯utf-8ï¼å¯æµè§å¨å§ç»éç¨gb2312çåå ã
å¦æç½é¡µéæheader("content-type:text/html; charset=xxx")ï¼å°±æé»è®¤çå符éæ¹ä¸ºä½ 设置çå符éï¼æ以è¿ä¸ªå½æ°æ°¸è¿æç¨ãå¦ææAddDefaultCharset xxxåé¢å 个â#âï¼æ³¨éæè¿å¥ï¼èä¸é¡µé¢éä¸å«header("content-typeâ¦")ï¼é£è¿ä¸ªæ¶å就轮å°metaæ ç¾èµ·ä½ç¨äºã
æ»ç»ï¼
æ¥ä¸ªæåº
header("content-type:text/html; charset=xxx")
AddDefaultCharset xxx
å¦æä½ æ¯webç¨åºåï¼ç»ä½ çæ¯ä¸ªé¡µé¢é½å 个header("content-type:text/html; charset=xxx")ï¼ä¿è¯å®å¨ä»»ä½æå¡å¨é½è½æ£ç¡®æ¾ç¤ºï¼å¯ç§»æ¤æ§å¼ºã
è³äºé£å¥AddDefaultCharset xxxï¼è¦ä¸è¦æ³¨éå°±ä»è è§ä»äºãåæ£ææ¯æ³¨éæäºï¼ä¸è¿æå页åä¹è¦åheader()ï¼ä¾¿äºæ¾å°æå¡å¨ä¸è½æ£å¸¸æ¾ç¤ºã
äºãæ°æ®åºç¼ç
PHP ç¨åºå¨æ¥è¯¢æ°æ®åºä¹åï¼é¦å æ§è¡ mysql_query(âSET NAMES xxxxâ);å ¶ä¸ xxxx æ¯ä½ ç½é¡µçç¼ç (charset=xxxx)ï¼å¦æç½é¡µä¸ charset=utf8ï¼å xxxx=utf8ï¼å¦æç½é¡µä¸ charset=gb2312ï¼åxxxx=gb2312ï¼å ä¹ææWEBç¨åºï¼é½æä¸æ®µè¿æ¥æ°æ®åºçå ¬å ±ä»£ç ï¼æ¾å¨ä¸ä¸ªæ件éï¼å¨è¿æ件éï¼å å ¥ mysql_query(âset namesâ)å°±å¯ä»¥äºã
SET NAMES æ¾ç¤ºå®¢æ·ç«¯åéç SQL è¯å¥ä¸ä½¿ç¨ä»ä¹å符éãå æ¤ï¼SET NAMES 'utf-8'è¯å¥åè¯æå¡å¨âå°æ¥ä»è¿ä¸ªå®¢æ·ç«¯ä¼ æ¥çä¿¡æ¯éç¨å符éutf-8âãå®è¿ä¸ºæå¡å¨åéå客æ·ç«¯çç»ææå®äºå符éãï¼ä¾å¦ï¼å¦æä½ ä½¿ç¨ä¸ 个SELECTè¯å¥ï¼å®è¡¨ç¤ºåå¼ä½¿ç¨äºä»ä¹å符éãï¼
PHP页é¢ç¼ç ç»ä¸
MySQLæ°æ®åºç¼ç ãhtml页é¢ç¼ç ãPHPæhtmlæ件æ¬èº«ç¼ç è¦å ¨é¨ä¸è´ã
ãã1ãMySQLæ°æ®åºç¼ç ï¼å»ºç«æ°æ®åºæ¶æå®ç¼ç ï¼å¦gbk_chinese_ci)ï¼å»ºç«æ°æ®è¡¨ã建ç«å段ãæå ¥æ°æ®æ¶ä¸è¦æå®ç¼ç ï¼ä¼èªå¨ç»§æ¿æ°æ®åºçç¼ç ã
æ°æ®åºè¿æ¥æ¶ï¼ä¹æç¼ç ï¼å¯ä»¥å¨è¿æ¥å®æ°æ®åºåï¼æ§è¡
mysql_query('SET NAMES gbk');//å°gbkæ¢æä½ çç¼ç ï¼å¦utf8ã
ãã2ãhtml页é¢çç¼ç ï¼æçæ¯è¿ä¸è¡ç设置ï¼
ãã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');