可以,但是效果不是很好,不是百分百正确,需要加载专门的数据文件。 可以到这下载:http://www.hooday.com/?n=ClassDownload&a=95
解决方案 »
- 三维数组插入数据库问题
- 我想学PHP有什么书好介绍下??
- 用socket如何编写下列http://211.100.115.37/lxd/liuyue.php?username=try2&password=060621&birth=19530528&length=70的HTTP协议的POST
- 求助怎样现向一个mysql数据表添加记录!!!!!!
- 有谁可以帮我将这小段asp代码改成php代码
- 挑战:字符串变换~
- 请问wasy(嘻嘻哈哈) ,关于list控件问题返回数组
- 怎么采集淘宝搜索页的商品数据
- php+mysql 多个客户端同时查询一个表时如何取出不同的值?
- php小白请教关于获取数组内的值的问题
- php怎么把图片上传到mysql里?
- 如下代码如何会出问题?急!!!!
--------------------------------------------------------------------------------
作者:caocao 来源:奥索网
前几天我在oso论坛上问有没有这个源程序,没人回复。终于下定决心移植一个这样的函数,感谢网友Keyes提供移植用的Delphi源代码。其调用方式为$txt=big5togb($txt)。
(注:源代码中的include "data_big5.php";这个文件在就是一个数组,在http://caocao.oso.com.cn/data_big5.zip,请编辑下载到oso上,做一个链接,因为这个文件我过几天就要删除了。) <?
/***********************************************************************
Written by caocao
[email protected]
http://caocao.oso.com.cn With the help of Keyes
[email protected]
http://my-wjl.scu.edu.cn/~Keyes
***********************************************************************/
function isbig5($code)
{
if (strlen($code)>=2)
{
$code=strtok($code,""); if (ord($code[0]) < 161)
{
return (0);
}
else
{
if (((ord($code[1]) >= 64)&&(ord($code[1]) <= 126))||((ord($code[1]) >= 161)&&(ord($code[1]) <= 254)))
{
return (1);
}
else
{
return (0);
}
}
}
else
{
return (0);
}
} function big5offset($code)
{
if (strlen($code) >= 2)
{
$code=strtok($code,"");
if ((ord($code[1]) >= 64)&&(ord($code[1]) <= 126))
{
return ((ord($code[0]) - 161) * 157 + (ord($code[1]) - 64));
}
if ((ord($code[1]) >= 161)&&(ord($code[1]) <= 254))
{
return ((ord($code[0]) - 161) * 157 + 63 + (ord($code[1]) - 161));
}
}
return (-1);
} function wordtostring($code)
{
return (chr(hexdec(substr($code,0,2))).chr(hexdec(substr($code,2,2))));
} function big5togb($code)
{
include "data_big5.php";
$output="";
$length=strlen($code);
$code=strtok($code,"");
$idx=0;
while ($idx < $length)
{
$tmpStr=$code[$idx].$code[$idx+1]; if (isbig5($tmpStr))
{
$offset=big5offset($tmpStr);
if (($offset >= 0)||($offset <= 14757))
{
$output.=wordtostring($big5order[$offset]);
$idx++;
}
else
{
$output.= $code[$idx];
}
}
else
{
$output.= $code[$idx];
}
$idx++;
}
return ($output);
} ?>
[email protected]
谢谢!!!
邮件已发出