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略有雷同,只要灵活运用,还是很不错的语言.
附:程序语言皆是的,只要掌握了语法,拥有活跃的编程思路,使用任何语言都是一样.