❶ 如何解決php在utf-8編碼下中文顯示亂碼問題
文件屬性設置為utf-8格式
在文件頭部設定字元編碼
header("Content-type:text/html;charset=utf-8");
❷ PHP中如何把一個字元串轉換為utf-8編碼的 如題 謝謝了
1、把 GBK 編碼字串轉換成 UTF-8 編碼字串 view plain to clipboardprint? <?php header("content-Type: text/html; charset=Utf-8"); echo mb_convert_encoding("你是我的好朋友","UTF-8","GBK"); ?> 2、把 UTF-8 編碼字串轉換成 GB2312 編碼字串 view plain to clipboardprint? // 注意將此文件存檔成 utf-8 編碼格式文件再測試 <?php header("content-Type:text/html;charset=gb2312"); echo mb_convert_encoding("你是我的好朋友","gb2312","utf-8"); ?> // 注意將此文件存檔成 utf-8 編碼格式文件再測試 <?php header("content-Type: text/html; charset=gb2312"); echo mb_convert_encoding("你是我的好朋友","gb312","utf-8"); ?> 3、對整個頁面進行轉換 該方法適用所有編碼環境。這樣把前128個字元以外(顯示字元)的字元集都用 NCR(Numeric character reference,如「漢字」將轉換成「汉字」這種形式)來表示,這樣的編碼在任意編碼環境下頁面都能正常顯示。 在php文件的頭部加上下面三行代碼: view plain to clipboardprint? mb_internal_encoding(」gb2312″); // 這里的gb2312是你網站原來的編碼 mb_http_output(」HTML-ENTITIES」); ob_start(』mb_output_handler』); mb_internal_encoding(」gb2312″); // 這里的gb2312是你網站原來的編碼 mb_http_output(」HTML-ENTITIES」); ob_start(』mb_output_handler』); 使用mb_convert_encoding 函數需啟用PHP 的mbstring (multi-byte string)擴展
❸ php中怎麼將GB18030轉換為UTF-8編碼
可以使用iconv函數對編碼進行轉換,iconv("gb18030", "utf-8", "要轉換的字元串");
iconv詳細用法如下:
iconv — 字元串按要求的字元編碼來轉換
stringiconv(string$in_charset,string$out_charset,string$str)
將字元串 str 從 in_charset 轉換編碼到 out_charset。
參數:
in_charset:輸入的字元集。
out_charset:輸出的字元集。
如果在 out_charset 後添加了字元串 //TRANSLIT,將啟用轉寫(transliteration)功能。
這個意思是,當一個字元不能被目標字元集所表示時,它可以通過一個或多個形似的字元來近似表達。
如果添加了字元串 //IGNORE,不能以目標字元集表達的字元將被默默丟棄。
否則,str 從第一個無效字元開始截斷並導致一個 E_NOTICE。
str:要轉換的字元串。
返回值:
返回轉換後的字元串, 或者在失敗時返回 FALSE。
❹ php連mysql用 utf-8編碼亂碼怎麼辦
1.修改my.ini:[mysql]default-character-set=utf8[mysqld]default-character-set=utf8default-storage-engine=MyISAM在[mysqld]下加入:default-collation=utf8_bininit_connect='SET
NAMES
utf8'
2.在需要做資料庫操作的php程序前面加上mb_internal_encoding('utf-8');
3.create
table最後邊加上ENGINE=MyISAM
DEFAULT
CHARSET=utf8
COLLATE=utf8_bin
4.phpMyAdmin/config.inc.php
$cfg['DefaultCharset']
=
'utf-8';$cfg['RecodingEngine']
=
'iconv';
5.phpMyAdmin/libraries/string.lib.php將第41行的mb_internal_encoding($GLOBALS['charset']);改為:mb_internal_encoding('utf-8');
6.phpAdmin導出數據時把"二進制區域使用十六進制顯示"的勾去掉
❺ php中用utf8編碼輸出中文就是亂碼
1【資料庫】->2【php代碼文件】->3【瀏覽器】
假如【資料庫】用utf8,php【代碼文件】也用utf8,【瀏覽器】查看時也用utf8。那麼恭喜你,不會出現亂碼的問題。
而最容易出問題的就是:php【代碼文件】
header("Content-Type: text/html; charset=utf-8");
echo "中文"; //此處的【中文】兩個字的編碼類型與文件編碼類型相同。
echo iconv('gb2312', 'utf-8', '中文'); //此處則將【中文】兩個字在【輸出】時轉換成了utf8,所以不會出現亂碼了(假設用win記事本默認存儲為gb2312)。
❻ 怎樣設置php的編碼格式為utf-8
在 PHP 編寫過程中,一般需要注意的是三種編碼:
1、網頁字元編碼
2、文件字元編碼
3、資料庫字元編碼
只有上面3種編碼的格式都一致的情況下,才會盡可能的避免亂碼的出現。
二、如何使用Notepad++軟體設置UTF-8編碼:
用 Notepad++ 軟體打開指定的 php 文檔後,在「格式」菜單下找到「以UTF-8格式編碼"
以xxx編碼的意思是不強制轉換文件的編碼,僅僅以某種編碼來查看,不會對文件進行修改,這對打開某個文件發現都是亂碼時非常實用。
轉為xxx編碼的意思就是將文件內容強制轉換為某種編碼,這對於本來看到的就不是亂碼但需要調整右下角的文件編碼時非常好用。
❼ PHP中GBK和UTF8編碼是怎麼回事
GBK編碼,是中國通用,UTF-8是國際通用
GBK是定長編碼,占兩個位元組,UTF-8是變長編碼,佔3到6位元組。不過目前來說UTF-8隻用到三位元組,還沒擴展到3位元組以上
如果你還需要進一步理解,請搜索它們各自的編碼規則
❽ 如何把php文件編碼更改為utf-8
與 php 編碼有關的,有兩處地方:
1、php 文件本身的編碼格式:
根據使用 php 編寫軟體的不同,其操作方法有所區別,比如 phpDesigher 軟體:
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
❾ php中utf-8編碼下用正則表達式如何匹配漢字
PHP中utf-8編碼下匹配漢字的正則表達式:'/[x{4e00}-x{9fa5}]+/u'
php中utf-8編碼下匹配漢字的正則表達式的例子:
<?php
$str="<div>我們的田野</div>美麗的田野";
iconv("gbk","utf-8",$str);
$pattern='/[x{4e00}-x{9fa5}]+/u';
preg_match_all($pattern,$str,$matches);
print_r($matches);
?>
運行結果:
Array ( [0] => Array ( [0] => 我們的田野 [1] => 美麗的田野 ) )
❿ 怎麼在php中設置utf8編碼
header(「Content-type: text/html; charset=utf-8″);