共计 1795 个字符,预计需要花费 5 分钟才能阅读完成。
iconv 函数库可能实现各种字符集间的转换,是 php 编程中不可短少的根底函数库。本文内容是参考了网上的其余资源,而后联合本人的实际,有须要的小伙伴能够参考下。
明天在批改论文在线的时候,遇到了 iconv 这个函数。学习一下
?
1
2
3
4header(‘Content-Type: application/vnd.ms-excel;charset=UTF-8″‘);
$name=iconv(‘utf-8’, ‘gb2312’, $data[‘year’].’ 年,第 ’.$data[‘period’].’ 期通信录 ’);
header(‘Content-Disposition: attachment;filename=”‘ . $name . ‘.xls”‘);
header(‘Cache-Control: max-age=0’);
这段代码的意思,就是把 utf- 8 格局转化为 gb2312 的格局,而后赋值给 $name, 这样导出 excel 文件的名字的时候,就是中文的 $name 的名字。
下边是对于这个函数的具体和延长用法
?
1iconv(“UTF-8″,”GB2312//IGNORE”,$data)
ignore 的意思是疏忽转换时的谬误,如果没有 ignore 参数,所有该字符前面的字符串都无奈被保留。
这个 iconv() 这个函数, 在 php5 中是内置的. 谢谢.
例子:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
echo $str= ‘ 你好, 这里是卖咖啡!’;
echo ‘
‘;
echo iconv(‘GB2312’, ‘UTF-8’, $str); // 将字符串的编码从 GB2312 转到 UTF-8
echo ‘
‘;
echo iconv_substr($str, 1, 1, ‘UTF-8’); // 按字符个数截取而非字节
print_r(iconv_get_encoding()); // 失去以后页面编码信息
echo iconv_strlen($str, ‘UTF-8’); // 失去设定编码的字符串长度
// 也有这样用的
$content = iconv(“UTF-8″,”gbk//TRANSLIT”,$content);
?>
iconv 不是 php 的默认函数,也是默认装置的模块。须要装置能力用的。
如果是 windows2000+php,你能够批改 php.ini 文件,将 extension=php_iconv.dll 前的 ”;” 去掉,同时你要 copy 你的原 php 安装文件下的 iconv.dll 到你的 winnt/system32 下 (如果你的 dll 指向的是这个目录)
在 linux 环境下,用动态装置的形式,在 configure 时加多一项 –with-iconv 就能够了,phpinfo 看失去 iconv 的项。(Linux7.3+Apache4.06+php4.3.2),
下载:ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz
装置:
?
1
2
3
4
5#cp libiconv-1.8.tar.gz /usr/local/src
#tar zxvf lib*
#./configure –prefix=/usr/local/libiconv
#make
#make install
编译 php
#./configure –prefix 域名交易 =/usr/local/php4.3.2 –with-iconv=/usr/local/libiconv/
应用的简略例子:
?
1
2
3
echo iconv(“gb2312″,”ISO-8859-1″,” 咱们 ”);
?>
PHP 中的 mb_convert_encoding 与 iconv 函数介绍
mb_convert_encoding 这个函数是用来转换编码的。原来始终对程序编码这一概念不了解,不过当初如同有点开窍了。
不过英文个别不会存在编码问题,只有中文数据才会有这个问题。比方你用 Zend Studio 或 Editplus 写程序时,用的是 gbk 编码,如果数据须要入数据库,而数据库的编码为 utf8 时,这时就要把数据进行编码转换,不然进到数据库就会变成乱码。