主题:[讨论]显示多个汉字的问题
显示多个汉字的问题
前几天在这里问那个显示汉字的已经解决了,十分感谢
不过那个程序一次只能显示一个汉字
效率太低
所以我修改了下代码
把显示汉字的作成了一个函数提供调用
这个思路用在显示多个字母上已经成功
如:
http://ceshi.hzoko.com/php/index2.htm
可是显示多个汉字却出了问题
用编辑器检查可以肯定语法没有错的了
看来可能是显示方法的问题
大家帮我看看:
CODE:[Copy to clipboard]<?php
function hzk16_get($hz)
{
$qh=ord(substr($hz,0,1))-161; //取得汉字区号
$wh=ord(substr($hz,1,1))-161; //取得汉字位号
$data_p=$data_p+($qh*94+$wh)*32; //取得汉字字模数据位置
$fp=fopen("hzk16","rb");
if(!$fp)
{
echo "文件打开失败!";
}
else
{
fseek($fp,$data_p); //定位文件指针
$content=fread($fp,32); //取得字模数据
fclose($fp);
for($i=0; $i<32; $i+=2)
{
$s = decbin(hexdec(bin2hex(substr($content,$i,1))));
$ss=$s. decbin(hexdec(bin2hex(substr($content,$i+1,1))));
$sss= str_replace(array("0", "1"), array("__", $hz),$ss);
$hz_pic.=$sss;
$hz_pic.="|";
}
}
return $hz_pic;
}
$char=$_GET["char"];
$char_len=strlen($char);
for($a=0;$a<$char_len;$a+=2)
{
$test[$a]=hzk16_get(substr($char,$a,2));
$hz_pic2[$a]=explode("|",$test[$a]);
}
for($i=0;$i<16;$i++)
{
for($b=0;$b<$char_len;$b+=2)
{
echo $hz_pic2[$b][$i];
}
echo "<br>";
}
?>
测试地址是这里
http://ceshi.hzoko.com/php/php_hz5.php?char=%B2%E2%CA%D4
汉字显示明显出错
前几天在这里问那个显示汉字的已经解决了,十分感谢
不过那个程序一次只能显示一个汉字
效率太低
所以我修改了下代码
把显示汉字的作成了一个函数提供调用
这个思路用在显示多个字母上已经成功
如:
http://ceshi.hzoko.com/php/index2.htm
可是显示多个汉字却出了问题
用编辑器检查可以肯定语法没有错的了
看来可能是显示方法的问题
大家帮我看看:
CODE:[Copy to clipboard]<?php
function hzk16_get($hz)
{
$qh=ord(substr($hz,0,1))-161; //取得汉字区号
$wh=ord(substr($hz,1,1))-161; //取得汉字位号
$data_p=$data_p+($qh*94+$wh)*32; //取得汉字字模数据位置
$fp=fopen("hzk16","rb");
if(!$fp)
{
echo "文件打开失败!";
}
else
{
fseek($fp,$data_p); //定位文件指针
$content=fread($fp,32); //取得字模数据
fclose($fp);
for($i=0; $i<32; $i+=2)
{
$s = decbin(hexdec(bin2hex(substr($content,$i,1))));
$ss=$s. decbin(hexdec(bin2hex(substr($content,$i+1,1))));
$sss= str_replace(array("0", "1"), array("__", $hz),$ss);
$hz_pic.=$sss;
$hz_pic.="|";
}
}
return $hz_pic;
}
$char=$_GET["char"];
$char_len=strlen($char);
for($a=0;$a<$char_len;$a+=2)
{
$test[$a]=hzk16_get(substr($char,$a,2));
$hz_pic2[$a]=explode("|",$test[$a]);
}
for($i=0;$i<16;$i++)
{
for($b=0;$b<$char_len;$b+=2)
{
echo $hz_pic2[$b][$i];
}
echo "<br>";
}
?>
测试地址是这里
http://ceshi.hzoko.com/php/php_hz5.php?char=%B2%E2%CA%D4
汉字显示明显出错