① php UNICODE 編碼轉換
Unicode是一個字元集,Unicode是定長的都為雙位元組.
這里我們常用的是utf8字元集編碼,樓主是說的Unicode轉換為UTF-8吧。
/**
* Unicode字元轉換成utf8字元
* @param [type] $unicode_str Unicode字元
* @return [type] Utf-8字元
*/
function unicode_to_utf8($unicode_str) {
$utf8_str = '';
$code = intval(hexdec($unicode_str));
//這里注意轉換出來的code一定得是整形,這樣才會正確的按位操作
$ord_1 = decbin(0xe0 | ($code >> 12));
$ord_2 = decbin(0x80 | (($code >> 6) & 0x3f));
$ord_3 = decbin(0x80 | ($code & 0x3f));
$utf8_str = chr(bindec($ord_1)) . chr(bindec($ord_2)) . chr(bindec($ord_3));
return $utf8_str;
}
② php設置成utf-8還是亂碼了怎麼辦
有時後php代碼里邊設置了「header("Content-type:
text/html;
charset=utf-8");」不一定會管用,因為有時文件本身格式就是錯誤的,你先把代碼復制到一個txt文件里邊,然後用代碼工具對php文件進行轉碼成utf-8格式(這時你就會發現里邊的代碼亂碼了,由其是中文和特殊字元),再把txt里邊的代碼復制覆蓋原來的php文件內容,然後保存即可,例如用Notepad++
工具
可以對文件本身進行轉碼
③ php中中文如何轉碼
應該是沒有URL編碼(一般來說,用默認字元集是沒有問題的)。
URL編碼/解碼,可用函數urlencode()與urldecode()。
還有一個小問題,你有個地方打錯了,在表單中把playerName打成了playerNmae,而iframe的URL中卻是playerName。
iframe代碼改為(你的拼寫錯誤已修正):
<iframeid="aaa"name="aaa"width="600"height="500"src="網址/playerDetail.php?serverName=<?phpechourlencode($_GET["serverName"]);?>&playerName=<?phpechourlencode($_GET["playerName"]);?>"></iframe>
表單代碼改為:
<formaction="22.php"method="get">
伺服器:<inputtype="text"name="serverName"/><br/>
玩家名:<inputtype="text"name="playerName"/><br/>
<inputtype="submit"/>
</form>
再試試?
④ php的url傳遞中文參數怎樣轉碼
如果編碼是UTF8的話 URL 中的中文會自動轉化成 UTF8編碼,同時解碼時使用urldecode函數即可
⑤ 主要是這樣的,我想用php讀取txt文件里每一行的漢字 並實現16進制轉碼
題義是要將gbk編碼先轉換成utf8編碼然後在轉成urlecode。
寫代碼如下
<?php
$a=file('old.txt'); //舊文本
$f=fopen('new.txt','wt'); //新生成文本
foreach($a as $k=>$l){
$l=urlencode(iconv('gbk','utf-8',trim($l))); //cp936即gbk的早期版本
echo $l.'<br/>';
fwrite($f,$l."\n");
}
fclose($f);
=============
原文件內容:
漢字漢字
數字數字
網路網路
輸出文件內容:
%E6%B1%89%E5%AD%97%E6%B1%89%E5%AD%97
%E6%95%B0%E5%AD%97%E6%95%B0%E5%AD%97
%E7%99%BE%E5%BA%A6%E7%99%BE%E5%BA%A6
⑥ php 能實現漢字轉url編碼的方法嗎
rawurlencode()函數即可!
示例:
functionraw($String,$en=false){
return!$en?rawurldecode($Strint):rawurlencode($String);
}
echoraw('%E5%AE%A2%E6%88%B7');//輸出:客戶
echoraw('客戶',true);//輸出:%E5%AE%A2%E6%88%B7
⑦ php程序utf-8編碼如何轉換成gbk簡體中文編碼
給個轉碼的方法給你吧! 你可以自己修改$outEncoding的參數,下面的方法默認是轉換為gb2312的字元集了,你調用方法就可以將你的字元串轉換字元
//中文字元編碼轉換
public function safeEncoding($string,$outEncoding ='GB2312')
{
$encoding = "UTF-8";
for($i=0;$i<strlen($string);$i++)
{
if(ord($string{$i})<128)
continue;
if((ord($string{$i})&224)==224)
{
//第一個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
//第二個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
$encoding = "UTF-8";
break;
}
}
}
if((ord($string{$i})&192)==192)
{
//第一個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
// 第二個位元組判斷通過
$encoding = "GB2312";
break;
}
}
}
if(strtoupper($encoding) == strtoupper($outEncoding))
return $string;
else
return iconv($encoding,$outEncoding,$string);
}
⑧ PHP 轉換中文為編碼
給個轉碼的方法給你吧! 你可以自己修改$outEncoding的參數,下面的方法默認是轉換為gb2312的字元集了,你調用方法就可以將你的字元串轉換字元
//中文字元編碼轉換
public function safeEncoding($string,$outEncoding ='GB2312')
{
$encoding = "UTF-8";
for($i=0;$i<strlen($string);$i++)
{
if(ord($string{$i})<128)
continue;
if((ord($string{$i})&224)==224)
{
//第一個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
//第二個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
$encoding = "UTF-8";
break;
}
}
}
if((ord($string{$i})&192)==192)
{
//第一個位元組判斷通過
$char = $string{++$i};
if((ord($char)&128)==128)
{
// 第二個位元組判斷通過
$encoding = "GB2312";
break;
}
}
}
if(strtoupper($encoding) == strtoupper($outEncoding))
return $string;
else
return iconv($encoding,$outEncoding,$string);
}
⑨ PHP 輸出簡單的中文 亂碼問題
解決php中中文亂碼問題方法
php文件本身的編碼與網頁的編碼應匹配
a. 如果欲使用gb2312編碼,那麼php要輸出頭:header(「Content-Type: text/html; charset=gb2312"),靜態頁面添加<metahttp-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的編碼格式為ANSI,可用記事本打開,另存為選擇編碼為ANSI,覆蓋源文件。
b. 如果欲使用utf-8編碼,那麼php要輸出頭:header(「Content-Type: text/html; charset=utf-8"),靜態頁面添加<metahttp-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是沒有國家的編碼,也就是獨立於任何一種語言,任何語言都可以使用的。
(9)php中文字元轉碼擴展閱讀:
解決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 編碼轉換
URLEncode:是指針對網頁url中的中文字元的一種編碼轉化方式,最常見的就是Bai、Google等搜索引擎中輸入中文查詢時候,生成經過Encode過的網頁URL。
URLEncode的方式一般有兩種,一種是傳統的基於GB2312的Encode(Bai、Yisou等使用),另一種是基於UTF-8的Encode(Google、Yahoo等使用)。
本工具分別實現兩種方式的Encode與Decode:
中文
->
GB2312的Encode
->
%D6%D0%CE%C4
中文
->
UTF-8的Encode
->
%E4%B8%AD%E6%96%87
我們可以用以下代碼實現轉換:
<?php
echo
urlencode('測試');?>
如果是gb2312編碼,轉換的結果為"%B2%E2%CA%D4";
如果是utf-8編碼,轉換的結果為"%E6%B5%8B%E8%AF%95";
希望我的回答你能滿意啊!呵呵!