求助:一个页面如何显示两种编码的中文?

chairj 2003-10-16 04:45:04
我的页面默认编码是gb2312,
即<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

而页面中有一个部分是通过函数输出,函数如下
function info(){
if($this->is_valid())
{
$tldname=$this->get_tld();
$domainname=$this->get_domain();
$whois_server=$this->get_whois_server();
if($whois_server!="")
{
// Getting whois information
$fp = @fsockopen($whois_server,43) or die("连接服务器失败");
$dom=$domainname.".".$tldname;
fputs($fp, "$dom\r\n") or die("发生未知错误");
$string="";
while(!feof($fp))
{
$string.=fgets($fp,128);
}
fclose($fp);
return $string;
}
else
{
return "No whois server for this tld in list!";
}
}
else{
return "Domainname isn't valid!";
}
}

这个函数输出的中文在gb2312下显示乱码,当编码设为UTF-8时可以显示中文,但页面其他原有中文又显示不了

请问该怎么解决?多谢
...全文
43 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
chairj 2003-10-16
  • 打赏
  • 举报
回复
OK,解决!
多谢啦!

结贴,下班,回家,吃饭,哈哈^_^!
feel8 2003-10-16
  • 打赏
  • 举报
回复
php.ini 里 ;extension=php_iconv.dll 前的分号去掉试试。
chairj 2003-10-16
  • 打赏
  • 举报
回复
原来echo $my->info();可以输出的。
现在echo iconv("UTF-8","GB2312",$my->info());就不行了。到这就没下面的了
xuzuning 2003-10-16
  • 打赏
  • 举报
回复
你可能没有连接iconv扩展库
chairj 2003-10-16
  • 打赏
  • 举报
回复
echo iconv("UTF-8","GB2312",$my->info());

我这么写的,运行时到这就不执行了
怎么错了?
feel8 2003-10-16
  • 打赏
  • 举报
回复
apache的httpd.conf 中设置成 AddDefaultCharset GB2312 了吗?
xuzuning 2003-10-16
  • 打赏
  • 举报
回复
若函数info()返回的确为UTF-8的话,则

echo iconv("UTF-8","GB2312",info());

21,882

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧