along 发表于 2009-3-16 21:58:11

关于部分空间打开文件时出现空白一片的问题

经过近日,有论坛上的朋友反馈,出现该种问题的大部分是虚拟主机的用户。

其实很大一部分是由于空间不支持 iconv 函数,此函数不是很常用,所以有些空间服务商会没有安装此PHP模块。请与他们联系安装此模块。

没有安装此模块会导致中文出现乱码问题。

mir3000 发表于 2009-3-23 16:14:08

安装显示500错误

http://www.8xidc.com

mir3000 发表于 2009-3-26 16:31:50

如何安装iconv 函数 ?

along 发表于 2009-3-26 20:26:26

回复 3# mir3000 的帖子

Nix下安装PHP的module,需要重新编译PHP,Windows下安装模板,只需将php.ini里的配置打开相应的dll就可,例如,需要加入gb库的支持,需要如下设置:
extension_dir = "C:/ipaddr/php/extensions/"
(注意,建议写全地址,并且后面加上/,很多时候是因为这里设置不对,才导致无法加载其它模块的dll的)
再打开
extension=php_gd2.dll
但如果是安装iconv.dll,按上面方法,打开php_iconv.dll后,还是无法开启iconv模块,需要如下配置:
a.上iconv的官方下载站点
http://ftp.gnu.org/pub/gnu/libiconv/
下面Windows版的iconv文件:libiconv-1.9.1.bin.woe32.zip
将这文件解压,将bin/下面的charset.dll,iconv.dll,iconv.exe拷贝到c:/windows/ (或其它的系统PATH中)
(ipaddr提醒你,这步是必须的,php_iconv.dll也是调用GNU的iconv库的,所以,先要安装GNU的iconv库)

b.开启php.ini里面的php_iconv.dll

c.重启Apache,再在phpinfo();检测是否开启iconv。
最近在做一个程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。 让我郁闷了好一会儿,去网上一查资料才知道这是iconv函数的一个bug。iconv在转换字符"—"到gb2312时会出错
解决方法很简单,就是在需要转成的编码后加 "//IGNORE" 也就是iconv函数第二个参数后.如下:
以下为引用的内容:
iconv("UTF-8","GB2312//IGNORE",$data)
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。

这个iconv()这个函数,在php5中是内置的.谢谢.

列子

<?php
echo $str= '你好,这里是卖咖啡!';
echo '<br />';

echo iconv('GB2312', 'UTF-8', $str);      //将字符串的编码从GB2312转到UTF-8
echo '<br />';

echo iconv_substr($str, 1, 1, 'UTF-8');   //按字符个数截取而非字节         
print_r(iconv_get_encoding());            //得到当前页面编码信息

echo iconv_strlen($str, 'UTF-8');         //得到设定编码的字符串长度
?>

glooo 发表于 2009-4-9 10:13:29

这个函数装了也不行阿

零点孤独人 发表于 2009-4-22 18:33:06

我的一切正常:lol :lol

932844 发表于 2009-6-7 20:57:06

你的正常.给我测试一下如何

932844 发表于 2009-6-8 15:01:56

为啥我的.有的打得开..有的打开是一片空白 呢

mary 发表于 2009-6-11 09:20:32

额~~~:Q :Q

pop 发表于 2009-7-1 19:17:14

支持PD!!
:handshake
页: [1] 2
查看完整版本: 关于部分空间打开文件时出现空白一片的问题