直接<?xml version="1.0" encoding="GB2312"?>算了~~或者用那个JPGRAPH的,听说里面有一个能用,但是没用过随便帮你UP

解决方案 »

  1.   

    你写wap吧?好像没办法解决吧?比如陶喆的喆就没法解析,所以在后台录入的时候就写成吉吉了。如果有什么好办法告诉我一声啊
      

  2.   

    你是指www.phpx.com上的那个函数吧?(www.dev-club.com上的也一样)请注意grow-easy提供的是gb2312-utf8对照表,而非gbk-utf8对照表。若用于在gd输出汉字是足够了,但用于xml是不够的。
    你可以由gbk编码标准重新构造该对照表在使用iconv函数时要注意源串编码的类型
    <?php
    $ch = "喆";
    echo bin2hex(iconv("GB2312","UTF-8",$ch)); //空,喆不在gb2312编码中
    echo "<br>";
    echo bin2hex(iconv("GBK","UTF-8",$ch)); //e59686
    ?>
      

  3.   

    请问如何重新构造一个BGK->UTF-8的对照表?我在phpx下载了个包含了四个转换表的,其中一个是“GBK编码对应的Unicode编码的16进制数表示”,这个怎么处理呢?其实很不了解这些编码的转换:(
      

  4.   

    其实这是很简单的
    首先找一个gbk标准字符集,最好是这样的“丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱....
    当然十六进制表示的也可以,用pack函数转换一下就可以了。例
    echo pack("H4","8140"); //丂然后用iconv函数逐字取得其utf-8编码,在自己的机器上让iconv函数不会是难事吧?!将结果按如下格式保存到文件(我的那个函数用到的格式)
    汉字utf-8值换行
    $hz = '丂';
    $utf8 = iconv("GBK","UTF-8");
    $line = $hz.$utf8."\n";这里给一个936代码页的显示程序
    <?php
    header("Content-Type: text/html; charset=gb2312");
    echo "<title>936 代码页</title>";
    $i = $_GET['i'];
    if($i<129)
      $i = 129;
    if($i>254)
      $i = 254;
    if($i != 129) {
      echo "<a href='?i=129'>首页</a>\n";
      echo "<a href='?i=".($i-1)."'>上页</a>\n";
    }
    if($i != 254) {
      echo "<a href='?i=".($i+1)."'>下页</a>\n";
      echo "<a href='?i=254'>尾页</a>\n";
    }
    echo "<table border CELLPADDING='1' CELLSPACING='0'>";
    printf("<tr><th>%2X</th>",$i);
    for($j=0;$j<16;$j++)
      printf("<th>%X</th>",$j);
    echo "</tr>";
    for($j=64;$j<255;$j++) {
      if($j%16 == 0) {
        if($j>64)
          echo "</tr>";
        printf("<tr><th>%X</th>",$j/16);
      }
      if($j==127)
        echo "<td></td>";
      else {
        $v = chr($i).chr($j);
        echo "<td>$v</td>";
      }
    }
    echo "<td></td></tr></table>";
    ?>
    <script>
    obj = document.all.tags("TD");
    for(i=0;i<obj.length;i++)
      if(obj[i].innerHTML != "") {
        ch = obj[i].innerHTML.charCodeAt().toString(16).toUpperCase();
        if(ch >= "E000" && ch < "E810") ch = " ";
        obj[i].innerHTML += "<br>"+ch;
      }
    </script>
      

  5.   

    我想不是这样的,因为,要转的不一定是一个字符集,如果不是xml,只要浏览器支持,就可以正常显示比如日文韩文等不规则文字,也就是说,如果要转为xml文件,是不是得把所有字符集都合并在一起然后再转为utf-8?我是这个意思。