php數組編碼轉換
⑴ php URL編碼轉換問題
<?
$a = array(
0 => '%C8%FD%BC%B6%20%D3%B0%C6%AC',
1 => '%D7%EE%D0%C2%D3%B0%C6%AC',
2 => '%BE%AD%B5%E4%D3%B0%C6%AC',
3 => '枝空帶%C8%D5%B1%BE%20%C8%FD%BC%B6%20%D3%B0%C6%AC',
4 => '%D3%B0%C6%AC%CF%C2%D4%D8');
//方法1
function t($n)
{
return iconv("gbk","utf-8"虧缺,$n);
}
$b = array_map(t,$a);
//方法2
$b = array();
for($i=0;$i<count($a);$i++)
$b[] = iconv("gbk","utf-8",$a[$i]);
//數組$b就是你要的結果。
//程序需要php5.0及以上版本的支持猛蘆。
?>
⑵ 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編碼轉換問題-高手幫我看看這兩種編碼是怎麼互相來轉換的
和頁面本身編碼有關。當頁面編碼和字元集不符合時就首拍會產生亂碼。日語是可以直接用 GBK 編碼顯示的。
之前的亂碼是因為 UTF8 編碼在 GB2312 下使用才會亂的。如果你是直接 echo 的話。就不會亂碼。。因為你輸出以後。字元集全是兆芹早這個編碼的。IE 自動改變了字元集。。你把它夾在一個聲明為 gb2312 的頁面里輸出就會是族雀亂碼了。。轉換語句應該寫為:
$value=iconv('gb2312','utf-8',$value);
⑷ PHP如何把數組里的中文Unicode轉換成Utf-8編碼
很明顯你截的圖是是JSON數據,如果是數組應二維數組的括弧應該是[]而不是{}。
所以轉換應該使用json_decode。比如對象名為$list,則:$list = json_decode($list, true);
出現中文Unicode的問題是,存儲數據轉成json時第二個參數使用錯誤,包含中文而不轉義的需要使用JSON_UNESCAPED_UNICODE;這樣存到資料庫才是中文。如:$list = json_encode($list, JSON_UNESCAPED_UNICODE);
⑸ PHP將多組編碼轉換成數組
include_once('config.inc.php');你新建個PHP頁面,把代碼全粘貼進去,就可以了
$arr=get_defined_vars();
$cuts=array('GLOBALS','_POST','_GET','_COOKIE','_FILES','_SESSION');
foreach($cutsas$v){
unset($arr[$v]);
}
print_r($arr);
⑹ php實現utf-8和GB2312編碼相互轉換函數代碼
復制代碼
代碼如下:
<?php
/********************************************
*
*
函數名:get_utf8_to_gb($value)
*
作
用:utf8編碼字元串轉換成gb2312編碼
*
作
者:劉先忠
*
日
期:2011-11-09
*
********************************************/
function
get_utf8_to_gb($value){
$value_1=
$value;
$value_2
=
@iconv(
"utf-8",
"gb2312//IGNORE",$value_1);//使用@抵制錯誤,如果轉換字元串中,某一個字元在目標字元集里沒有對應字元,那麼,這個字元之後的部分就被忽略掉了;即結果字元串內容不完整,此時要使用//IGNORE
$value_3
=
@iconv(
"gb2312",
"utf-8//IGNORE",$value_2);
if
(strlen($value_1)
==
strlen($value_3))
{
return
$value_2;
}else
{
return
$value_1;
}
}
/********************************************
*
*
函數名:get_gb_to_utf8($value)
*
作
用:gb2312編碼字元串轉換成utf8編碼
*
作
者:劉先忠
*
日
期:2011-11-09
*
********************************************/
function
get_gb_to_utf8($value){
$value_1=
$value;
$value_2
=
@iconv(
"gb2312",
"utf-8//IGNORE",$value_1);
$value_3
=
@iconv(
"utf-8",
"gb2312//IGNORE",$value_2);
if
(strlen($value_1)
==
strlen($value_3))
{
return
$value_2;
}else
{
return
$value_1;
}
}
?>
⑺ php在將數組轉成json的時候,key值是中文的,亂碼怎麼解決!
亂宴大源碼的話是因為文件的格式不正確,而網頁編碼是默認為文件編碼格式的,JSON又是UTF-8編碼,所以你的文件可能是GB2312格式仿辯,所以導致JSON內的中文亂碼。
這種情況轉換晌態為UTF-8格式就可以了。
(注意,轉換成無BOM格式的,記事本轉換的UTF-8是帶BOM的,會導致JSON無法正確解析)
⑻ 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";
希望我的回答你能滿意啊!呵呵!
⑼ php中如何轉換變數的編碼
functionunicode2utf8($str){
if(!$str)return$str;
$decode=json_decode($str);
if($decode)return$decode;
$str='["'.$str.'"]';
$decode=json_decode($str);
if(count($decode)==1){
return$decode[0];
}
return$str;
}
這是unicode編碼,使用這個函數可以很好的將unicode編碼轉為utf-8編碼。詳細的原理可以參考這篇博文《php將unicode編碼轉為utf-8方法》:http://www.welefen.com/php-unicode-to-utf8.html
⑽ 易語言php編碼轉換
沒有差的語言,只有差的程序員,任何的語言都是的,只有程序員靈活的思維才能寫出強大的軟體,首先
PHP是基於Linux平台的WEB開發語言,就是俗稱的LMAP中的P,(LMAP全稱Linux、Apache、MySQL、PHP/Perl/Python),再來看看Visual Basic,就是你說的VB,這是微軟首款推出的對象化編程語言,上手快,語法更具針對性,更易使用,在VB的延升還有ASP做支撐,這讓VB程盯兆臘序員開發軟體就有了WEB的支持,現在的Visual Basic.NET在VB6的基礎上做了很凱滑多修正,大大彌補了原來的長代碼出錯的不足.下面再來看下易語言,易語言是一款漢語化編程語言,語法結構和猜桐方式和VB略有雷同,只要靈活運用,還是很不錯的語言.
附:程序語言皆是的,只要掌握了語法,擁有活躍的編程思路,使用任何語言都是一樣.