- PHP Kanji transcoding gbk->unicode (UTF8)
- Class qswhgbk{
- var $qswhData;
- function QSWHGBK ($filename = "qswhgbk.php") {
- $this->qswhdata=file ($filename);
- }
- function gb2u ($GB, $callback = "") {
- /****** (Qiushuiwuhen 2002-8-15) ******/
- $ret = "";
- for ($i =0; $i<>
- if ($p =ord (substr ($GB, $i, 1)) >127) {
- $q =ord (substr ($GB, + + $i, 1));
- $q = ($q-($q >128?65:64))
- $q =substr ($this->qswhdata[$p -128], $q, 4);
- }
- Else
- $q =dechex ($p);
- if (empty ($callback))
- $ret. = $q;
- else {
- $arr =array ("Htmlhex", "Htmldec", "Escape", "U2utf8");
- if (Is_integer ($callback)) {
- if ($callback >count ($arr)) Die ("Invalid Function");
- $ret. = $this $arr [$callback-1] ($q);
- }else
- $ret. = $callback ($q);
- }
- }
- return $ret;
- }
- function Htmlhex ($STR) {
- Return "& #x". $str. ";";
- }//Programmer's Home bbs.it-home.org
- function Htmldec ($STR) {
- Return "" ". Hexdec ($STR)."; ";
- }
- function Escape ($STR) {
- Return Hexdec ($STR) <256?chr (Hexdec ($STR)): "%u". $str;
- }
- function U2utf8 ($STR) {
- /****** (Qiushuiwuhen 2002-8-15) ******/
- $SP = "! ' () *-.0123456789abcdefghijklmnopqrstuvwxyz_abcdefghijklmnopqrstuvwxyz~ ";
- $dec =hexdec ($STR);
- $bin =decbin ($DEC);
- $len =strlen ($bin);
- $arr =array ("C0", "E0", "F0");
- if ($dec >0x7f) {
- $ret = "";
- for ($i = $len, $j =-1; $i >=0; $i-=6, $j + +) {
- if ($i >6)
- $ret = "%". Dechex (0x80+bindec (substr ($bin, $i -6,6)). $ret;
- Else
- $ret = "%". Dechex (Hexdec ($arr [$j]) +bindec (substr ($bin, 0,6-$i)). $ret;
- }
- }else{
- if (Strpos ($SP, Chr ($DEC)))
- $ret =CHR ($DEC);
- Else
- $ret = "%". Strtolower ($STR);
- }
- return $ret;
- }
- }
Copy CodeInvocation Example:
$words = "Chinese abc";
- function Ex ($STR) {return "[". $str. "]";}
$QSWH =new QSWHGBK ("qswhgbk.php");//If the file name is qswhgbk.php, you can save the parameter
-
Echo (" without parameters:". $qswh-&gt;gb2u ($words)); &lt;li&gt;echo ("/n calls built-in function Htmlhex:". $qswh-&gt;gb2u ($words, 1 ); &lt;li&gt;echo ("/n calls built-in function Htmldec:". $qswh-&gt;gb2u ($words, 2)); &lt;li&gt;echo ("/n calls built-in function escape:". $qswh-&gt;gb2u ($words, 3)); &lt;li&gt;echo ("/n calls the built-in function U2utf8:". $qswh-&gt;gb2u ($words, 4)); &lt;li&gt;echo ("/n calls a custom function:". $QSWH-&gt;gb2u ($words, ex)); &lt;/p&gt;&lt;li&gt;&lt;/ol&gt;&lt;em onclick= "Copycode ($ (' code_sd4 '));" &gt; Copy Code &lt;/em&gt;&lt;p&gt; Effects: &lt;/p&gt; without parameters: 4e2d6587416263 calls the built-in function htmlhex:&amp; #x4E2D;&amp; #x6587;&amp; #x41; &amp; #x62;&amp; #x63, call built-in functions htmldec:&amp; #20013;&amp; #25991;&amp; #65;&amp; #98;&amp; #99; call built-in functions escape:%u4e2d% U6587ABC call a built-in function U2UTF8:%E4%B8%AD%E6%96%87ABC call a custom function:[4e2d][6587][41][62][63]&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt; &lt;li &gt;&lt;i class= "Layui-icon" &gt;&amp; #xe63a;
|