Heim  >  Artikel  >  Backend-Entwicklung  >  Konvertierung chinesischer Zeichen in PHP: Unicode (UTF8) in GBK

Konvertierung chinesischer Zeichen in PHP: Unicode (UTF8) in GBK

高洛峰
高洛峰Original
2016-12-02 10:13:331101Durchsuche

Die Konvertierung chinesischer Zeichen in PHP war schon immer eine mühsame Sache

Diese Klasse verfügt über vier integrierte Filter: „[dec];“, „[hex];“, „%u [hex ]","utf8-Konvertierung"
Die Verwendung ist für Benutzer bequem und Sie können die Filterung auch anpassen, um Ihre bevorzugten Vorgänge auszuführen


qswhU.php Hier herunterladen
http ://www.blueidea.com/user/qswh/qswhU.zip

class qswhU{
var $qswhData;
function qswhU($filename="qswhU.php"){
$this-> ;qswhData=file($filename);
}

function decode($str,$pattern=0){
$arr=array("/(w+ );/iU" ,"/((%ww)+)/i","/%u(w{4,5})/iU");
if(is_integer($pattern)){
if($pattern> ;=count($arr))die("Invalid Function");
$pattern=$arr[$pattern];
}
return preg_replace_callback($pattern,array($ this,"u2gb" ),$str);
}

function u2gb($arr){
/******(qiushuiwuhen 2002-8-15)******/
$ret="";$str =$arr[1 ];
if(preg_match_all("/%w{2}/",$str,$matches)){
for($i=0;$i $chr1=hexdec(substr($matches[0][$i],1));
$arr=array("f0",e0",c0 ","0" );
for($j=0;$jhexdec($arr[$j]))break;
$ chr=hexdec(substr ($matches[0][$i],1))-hexdec($arr[$j]);
while(++$j $str=dechex($chr);
if(strlen($str)= =4){
$p=hexdec(substr($str,0,2))-0x4d;
$q=hexdec(substr($str,2))*4;
$ret. =chr(hexdec( substr($this->qswhData[$p],$q,2)));
$ret.=chr(hexdec(substr($this->qswhData[$p], $q+2, 2)));
}else
$ret.=chr(hexdec($str));
}
}
else{
if(strtolower ($str[0 ])=="x")
$str=substr($str,1);
else
if(strlen($str)!=4)$str=dechex( $str);

if(strlen($str)==4){
$p=hexdec(substr($str,0,2))-0x4d;
$q=hexdec (substr($str ,2))*4;
$ret.=chr(hexdec(substr($this->qswhData[$p],$q,2)));
$ret. =chr(hexdec( substr($this->qswhData[$p],$q+2,2)));
}else
$ret.=chr(hexdec($str));echo "

ohne Parameter weglassen (Standardfilterung ist: [num];):";<br>echo "n".$qswh- >decode("中文Abc");<br>echo "n".$qswh->decode( "中 25991;Abc");<br>echo "nCall integrierte Filterung (UTF-Transkodierung):".$qswh->decode("% E4%B8%AD%E6 %96%87%20!%22%23%24%25%26'()*%2B%2C%2F%3A%3B%3C%3D%3E%3F%40%5B %5D%5E%60% 7B%7C%7D~%25Abc",1);<br>echo "nRufen Sie den integrierten Filter unescape(%u[num]) auf:".$qswh->decode(" %u4E2D%u6587Abc",2); <br>echo "ncustom filter([x+num]):".$qswh->decode("[x4E2D][x6587][x41][x62][x63]" ,"/[(w+) ]/");</p> <p>Der Effekt ist wie folgt:<br>Ohne Parameter (der Standardfilter ist: [num];):</p>Chinesisches Abc<p>Chinese Abc<br>Rufen Sie den integrierten Filter (UTF-Transkodierung) auf: Chinese!"#$%&'()*+,/:;<=>?@[]^`{|}~%Abc <br>Rufen Sie den integrierten Filter unescape(%u[num ]) auf: Chinesisches Abc<br>Benutzerdefinierte Filterung ([x+num]): Chinesisches Abc<br><br><br></p></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>Stellungnahme:</span><div>Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn</div></div></div><div class="nphpSytBox"><span>Vorheriger Artikel:<a class="dBlack" title="Zusammenfassung häufig verwendeter spezieller Operationssymbole und -funktionen in PHP" href="http://m.php.cn/de/faq/342694.html">Zusammenfassung häufig verwendeter spezieller Operationssymbole und -funktionen in PHP</a></span><span>Nächster Artikel:<a class="dBlack" title="Zusammenfassung häufig verwendeter spezieller Operationssymbole und -funktionen in PHP" href="http://m.php.cn/de/faq/342699.html">Zusammenfassung häufig verwendeter spezieller Operationssymbole und -funktionen in PHP</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>In Verbindung stehende Artikel</h2><em><a href="http://m.php.cn/de/article.html" class="bBlack"><i>Mehr sehen</i><b></b></a></em><div class="clear"></div></div><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/de/faq/1.html" title="So verwenden Sie cURL zum Implementieren von Get- und Post-Anfragen in PHP" class="aBlack">So verwenden Sie cURL zum Implementieren von Get- und Post-Anfragen in PHP</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/de/faq/1.html" title="So verwenden Sie cURL zum Implementieren von Get- und Post-Anfragen in PHP" class="aBlack">So verwenden Sie cURL zum Implementieren von Get- und Post-Anfragen in PHP</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/de/faq/1.html" title="So verwenden Sie cURL zum Implementieren von Get- und Post-Anfragen in PHP" class="aBlack">So verwenden Sie cURL zum Implementieren von Get- und Post-Anfragen in PHP</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/de/faq/1.html" title="So verwenden Sie cURL zum Implementieren von Get- und Post-Anfragen in PHP" class="aBlack">So verwenden Sie cURL zum Implementieren von Get- und Post-Anfragen in PHP</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/de/faq/2.html" title="Alle Ausdruckssymbole in regulären Ausdrücken (Zusammenfassung)" class="aBlack">Alle Ausdruckssymbole in regulären Ausdrücken (Zusammenfassung)</a><div class="clear"></div></li></ul></div></div><div class="nphpFoot"><div class="nphpFootBg"><ul class="nphpFootMenu"><li><a href="http://m.php.cn/de/"><b class="icon1"></b><p>Heim</p></a></li><li><a href="http://m.php.cn/de/course.html"><b class="icon2"></b><p>Kurs</p></a></li><li><a href="http://m.php.cn/de/wenda.html"><b class="icon4"></b><p>Fragen und Antworten</p></a></li><li><a href="http://m.php.cn/de/login"><b class="icon5"></b><p>Mein</p></a></li><div class="clear"></div></ul></div></div><div class="nphpYouBox" style="display: none;"><div class="nphpYouBg"><div class="nphpYouTitle"><span onclick="$('.nphpYouBox').hide()"></span><a href="http://m.php.cn/de/"></a><div class="clear"></div></div><ul class="nphpYouList"><li><a href="http://m.php.cn/de/"><b class="icon1"></b><span>Heim</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/de/course.html"><b class="icon2"></b><span>Kurs</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/de/article.html"><b class="icon3"></b><span>Artikel</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/de/wenda.html"><b class="icon4"></b><span>Fragen und Antworten</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/de/dic.html"><b class="icon6"></b><span>Wörterbuch</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/de/course/type/99.html"><b class="icon7"></b><span>Handbuch</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/de/xiazai/"><b class="icon8"></b><span>Herunterladen</span><div class="clear"></div></a></li><li><a href="http://m.php.cn/de/faq/zt" title="Thema"><b class="icon12"></b><span>Thema</span><div class="clear"></div></a></li><div class="clear"></div></ul></div></div><div class="nphpDing" style="display: none;"><div class="nphpDinglogo"><a href="http://m.php.cn/de/"></a></div><div class="nphpNavIn1"><div class="swiper-container nphpNavSwiper1"><div class="swiper-wrapper"><div class="swiper-slide"><a href="http://m.php.cn/de/" >Heim</a></div><div class="swiper-slide"><a href="http://m.php.cn/de/article.html" class="hover">Artikel</a></div><div class="swiper-slide"><a href="http://m.php.cn/de/wenda.html" >Fragen und Antworten</a></div><div class="swiper-slide"><a href="http://m.php.cn/de/course.html" >Kurs</a></div><div class="swiper-slide"><a href="http://m.php.cn/de/faq/zt" >Thema</a></div><div class="swiper-slide"><a href="http://m.php.cn/de/xiazai" >Herunterladen</a></div><div class="swiper-slide"><a href="http://m.php.cn/de/game" >Spiel</a></div><div class="swiper-slide"><a href="http://m.php.cn/de/dic.html" >Wörterbuch</a></div><div class="clear"></div></div></div><div class="langadivs" ><a href="javascript:;" class="bg4 bglanguage"></a><div class="langadiv" ><a onclick="javascript:setlang('zh-cn');" class="language course-right-orders chooselan " href="javascript:;"><span>简体中文</span><span>(ZH-CN)</span></a><a onclick="javascript:setlang('en');" class="language course-right-orders chooselan " href="javascript:;"><span>English</span><span>(EN)</span></a><a onclick="javascript:setlang('zh-tw');" class="language course-right-orders chooselan " href="javascript:;"><span>繁体中文</span><span>(ZH-TW)</span></a><a onclick="javascript:setlang('ja');" class="language course-right-orders chooselan " href="javascript:;"><span>日本語</span><span>(JA)</span></a><a onclick="javascript:setlang('ko');" class="language course-right-orders chooselan " href="javascript:;"><span>한국어</span><span>(KO)</span></a><a onclick="javascript:setlang('ms');" class="language course-right-orders chooselan " href="javascript:;"><span>Melayu</span><span>(MS)</span></a><a onclick="javascript:setlang('fr');" class="language course-right-orders chooselan " href="javascript:;"><span>Français</span><span>(FR)</span></a><a onclick="javascript:;" class="language course-right-orders chooselan chooselanguage" href="javascript:;"><span>Deutsch</span><span>(DE)</span></a></div></div><script> var swiper = new Swiper('.nphpNavSwiper1', { slidesPerView : 'auto', observer: true,//修改swiper自己或子元素时,自动初始化swiper observeParents: true,//修改swiper的父元素时,自动初始化swiper }); </script></div></div><!--顶部导航 end--><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>