導航:首頁 > 編程語言 > phpascii轉中文

phpascii轉中文

發布時間:2023-03-09 14:13:43

⑴ 請教這php轉義函數為什麼對中文字元輸出的是 \304\343\272\303

string addcslashes ( string str, string charlist )

返回字元串,該字元串在屬於參數 charlist 列表中的字元前都加上了反斜線。此函數對 \n、\r 等進行轉義。像 C 那樣,ASCII 碼低於 32 以及高於 126 的字元均轉換成使用八進製表示。
當你選擇對字元 0、a、b、f、n、r、t 和 v 進行轉義時需要小心,它們將被轉換成 \0、\a、\b、\f、\n、\r、\t 和 \v。在 PHP 中,只有 \0(NULL)、\r(回車符)、\n(換行符)和 \t(分隔符)是預定義的轉義序列, 而在 C 中,上述的所有轉換後的字元都是預定義的轉義序列。
charlist 參數,如「\0..\37」,將轉義所有 ASCII 碼介於 0 和 37 之間的字元

⑵ php生成中文

中文是由兩個位元組的ascii碼組成的

rand(0xB0, 0xCC) 意思是從16進制0xB0開始到0xCC之間取一個隨機數
chr() 函數把ascii 轉換成字元
點(.) 連接符把另一個chr()生成的字元連起來,就生成了兩個位元組的特殊字元。
輸出之後就是中文了。

⑶ php如何分割中文字元串

php分割中文字元串,如果直接用PHP函數「str_split」來分割,會出現亂碼,因為中文字元長度和英文字元長度是不一樣的。

所以,可以建立新的函數先把字元轉成ASCII值,接著通過判斷不同字元的長度來正確分割中文字元串,把結果存入數組,最後再用PHP函數「join」在字元間插入百分號。

具體參考代碼如下:

<?php
functionstr_split_utf8($str){
$split=1;
$array=array();
for($i=0;$i<strlen($str)){
$value=ord($str[$i]);
if($value>127){
if($value>=192&&$value<=223)$split=2;
elseif($value>=224&&$value<=239)$split=3;
elseif($value>=240&&$value<=247)$split=4;
}else{
$split=1;
}
$key=NULL;
for($j=0;$j<$split;$j++,$i++){
$key.=$str[$i];
}
array_push($array,$key);
}
return$array;
}
$string="網路知道www..cn";
$arr1=str_split_utf8($string);
echojoin("%",$arr1);
?>

⑷ php如何輸出gb2312編碼對應的漢字

用chr函數輸出。別聽1-2樓瞎說!他們都沒做過PHP開發。
漢字由於是雙位元組,所以要一個位元組一個位元組的輸出,並且編碼是16進制的,因此需要按下面這樣輸出。
復制下面的代碼運行:
<?php
$chars = '你好';
$text = '';
$codes = array ();

for ($i = 0; $i < strlen( $chars ); $i++) {
$c = ord ( substr ( $chars, $i, 1 ) );
$text .= chr ( $c );
$codes [] = $c;
}

echo ( $text );
?>

同時,請注意,php對於漢字的ASCII碼根據PHP文件的編碼不同,是不一樣的。要獲取其編碼,使用ord()函數,但是ord函數只返回首個字元的ASCII碼

如果你知道 ASCII碼,也可以通過 pack 函數打包以後作為字元串輸出

⑸ 求php ascii碼 轉換成漢字

ascii碼沒有漢字這一說,ascii只表示英文和西歐字元

⑹ php頁面解決亂碼問題

1、文件編碼:指的是頁面文件(.html,.php等)本身是以何種編碼來保存的。記事本和Dreamweaver在打開頁面時候會自動識別文件編碼因而不太會出問題。而ZendStudio卻不會自動識別編碼,它只會根據首選項的配置固定以某種編碼打開文件,如果工作時候一不注意,用錯誤編碼打開文件,做了修改之後一保存,亂碼就出現了(我深有體會)。
2、頁面申明編碼:在HTML代碼HEAD裡面,可以用<meta http-equiv="Content-Type" content="text/html; charset="XXX" />來告訴瀏覽器網頁採用了什麼編碼,目前中文網站開發中XXX主要用的是GB2312和UTF-8兩種編碼。
3、資料庫連接編碼:指的是進行資料庫操作時候以哪種編碼與資料庫傳輸數據,這里需要注意的是不要與資料庫本身的編碼混淆,比如MySQL內部默認是latin1編碼,也就是說Mysql是以latin1編碼來存儲數據,以其他編碼傳輸給Mysql的數據會被轉換成latin1編碼。
知道了WEB開發中哪些地方涉及到了編碼,也就知道了PHP頁面亂碼產生的原因:上述3項編碼設置不一致,由於各種編碼絕大部分是兼容ASCII的,所以英文符號不會出現,中文就倒霉了。下面是一些常見的錯誤情況與解決:
1、資料庫採用UTF8編碼,而頁面申明編碼是GB2312,這是最常見的產生亂碼的原因。這時候在PHP腳本裡面直接SELECT數據出來的就是PHP頁面亂碼,需要在查詢前先使用:
mysql_query("SET NAMES GBK"); 來設定MYSQL連接編碼,保證頁面申明編碼與這里設定的連接編碼一致(GBK是GB2312的擴展)。如果頁面是UTF-8編碼的話,可以用:
mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如頁面申明的編碼與資料庫內部編碼一致可以不設定連接編碼。
註:事實上MYSQL的數據輸入輸出比上面講的更復雜一些,MYSQL配置文件my.ini中定義了2個默認編碼,分別是[client]里的default-character-set和[mysqld]里的default-character-set來分別設定默認時候客戶端連接和資料庫內部所採用的編碼。我們上面指定的編碼其實是MYSQL客戶端連接伺服器時候的命令行參數character_set_client,來告訴MYSQL伺服器接受到的客戶端數據是什麼編碼的,而不是採用默認編碼。
2、頁面申明編碼與文件本身編碼不一致,這種情況很少發生,因為如果編碼不一致美工做頁面時候在瀏覽器看到的就是亂碼了。更多時候是發布以後修改一些小BUG,以錯誤編碼打開頁面然後保存導致的。或者是用某些FTP軟體直接在線修改文件,比如CuteFTP,由於軟體編碼配置錯誤而導致轉換錯了編碼。
3、一些租用虛擬主機的朋友,明明上述3項編碼都設置正確了還是有PHP頁面亂碼。比方說網頁是GB2312編碼的,IE等瀏覽器打開卻總是識別成UTF-8,網頁HEAD裡面已經申明是GB2312了,手動修改瀏覽器編碼為GB2312後頁面顯示正常。產生原因是伺服器Apache設定了伺服器全局的默認編碼,在httpd.conf裡面加了AddDefaultCharset UTF-8。這時候伺服器會首先發送HTTP頭給瀏覽器,其優先順序比頁面里申明編碼高,自然瀏覽器就識別錯了。解決辦法有2個,請管理員在配置文件自己的虛機里加上一條AddDefaultCharset GB2312來覆蓋全局配置,或者在自己目錄的.htaccess里配置。

⑺ 漢字怎樣轉換十六進制php

//漢字進制轉換
//$string 傳入的漢字或其它字元
//$tobase 要轉換的進制 范圍 2~36 之間任意取值
//$back 返回形式,0 轉換成進制代碼 ; 1 將進制轉換成漢字

function ASCII($String,$tobase,$back){
if( $tobase > 1 && $tobase < 37 ){
if($back == 0){
return preg_replace('/(.)/es',"str_pad(base_convert(ord('\\1'),10,$tobase),8,'0',STR_PAD_LEFT)",$String);
}else{
return preg_replace('/(\w{8})/e',"chr(base_convert('\\1',$tobase,10))",$String);
}
}else{
return false;
}
}

//範例
$str = '我愛你';

$en = ASCII($str,2,0); // 轉換成2進制: 00
echo ASCII($en,2,1); // 轉換成漢字:我愛你

$en = ASCII($str,8,0); // 轉換成8進制: 40
echo ASCII($en,8,1); // 轉換成漢字:我愛你

$en = ASCII($str,10,0); // 轉換成10進制: 60
echo ASCII($en,10,1); // 轉換成漢字:我愛你

$en = ASCII($str,10,0); // 轉換成10進制: 60
echo ASCII($en,10,1); // 轉換成漢字:我愛你

$en = ASCII($str,16,0); // 轉換成10進制: a0
echo ASCII($en,16,1); // 轉換成漢字:我愛你

閱讀全文

與phpascii轉中文相關的資料

熱點內容
命令方塊怎麼調鍵盤 瀏覽:841
不把密碼存在伺服器上怎麼辦 瀏覽:398
怎麼讓指令方塊的命令消失 瀏覽:543
用單片機做plc 瀏覽:404
雲伺服器進入子目錄命令 瀏覽:795
伺服器機櫃如何配電 瀏覽:578
怎麼刪除iphone資源庫里的app 瀏覽:940
pdf魚 瀏覽:648
單片機pcf8591什麼作用 瀏覽:805
sql命令學院 瀏覽:283
加密軟體在電腦那個盤 瀏覽:988
android獲取外部存儲 瀏覽:573
怎麼查自己家的伺服器地址 瀏覽:858
編程c語言工作好不好 瀏覽:569
單片機焊接地怎麼連接 瀏覽:694
游戲源碼怎麼抓 瀏覽:216
程序員幫大家引走怪物 瀏覽:16
手機網頁小游戲源碼 瀏覽:513
戰地一伺服器怎麼設置管理員 瀏覽:396
數控車床編程可以上班嗎 瀏覽:460