windows 操作系统
$encodename = "windows 操作系统";
echo urldecode($encodename);
$encodename = "windows 操作系统";
echo urldecode($encodename);
解决方案 »
- php无法向mysql中插入值
- 完整的自己开发一个项目。高手请进
- 关于搜索绑定值的问题
- 获取页面的来源的实现?
- 唉,php连个好的编辑器都没
- 用confirm(),但具体怎么用呢?
- 在一个循环语句下有若干单元格,如何实现每四个单元格就自动换行?
- php-[function.fopen]: failed to open stream: Permission denied都改了为什么还出这样的问题
- 我在windows2000server上面装了EasyPHP1-8后访问速度慢的吓人,还经常死
- apache如何装入win2k的服务里面?
- 想问下有没有免费的类似猪八戒网这样的程序?
- 高分求助,在线等,急。问题不难
echo unicode2utf8($sheet[0]); function u2utf82gb($c){
$str="";
if ($c < 0x80) {
$str.=$c;
} else if ($c < 0x800) {
$str.=chr(0xC0 | $c>>6);
$str.=chr(0x80 | $c & 0x3F);
} else if ($c < 0x10000) {
$str.=chr(0xE0 | $c>>12);
$str.=chr(0x80 | $c>>6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
} else if ($c < 0x200000) {
$str.=chr(0xF0 | $c>>18);
$str.=chr(0x80 | $c>>12 & 0x3F);
$str.=chr(0x80 | $c>>6 & 0x3F);
$str.=chr(0x80 | $c & 0x3F);
}
return iconv('utf-8', 'gb2312', $str);
}
function unicode2utf8($str){
$str = preg_replace("|&#([0-9]{1,5});|", "\".u2utf82gb(\\1).\"", $str);
$str = "\$str=\"$str\";";
return eval($str);
}
自动转换
问题已经解决谢谢各位
/*######################################################################################################
示例 unicode2gbk($str);
$strs="product intr…";
echo unescape($strs); //输出 windows 操作系统
作用编码转换 将 unicode -> GB2312[支持中英文]
*******************************************************************************************************/
function unescape($strs) {
if(empty($strs)):
return;
endif;
$arr=split("&#",$strs);
$strs=implode(";&#",$arr).';';//在每段中加上分号
//$string=substr($strs, 1);
$str = rawurldecode($strs);
preg_match_all("/(?:%u.{4})|&#x.{4};|&#\d+;|.+/U",$str,$r);
$ar = $r[0];
//print_r($ar);
foreach($ar as $k=>$v) {
if(substr($v,0,2) == "%u")
$ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,-4)));
elseif(substr($v,0,3) == "&#x")
$ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,3,-1)));
elseif(substr($v,0,2) == "&#") {
//echo substr($v,2,-1)."<br>";
$ar[$k] = iconv("UCS-2","GB2312",pack("n",substr($v,2,-1)));
}
}
$string=join("",$ar);
$patterns=array("|^;(.+?)|","|(.+?);$|");
$replacements=array("\\1","\\1");
//去除最前后面的分号
$strs = preg_replace($patterns, $replacements, $string);
return $strs;
}