关于php:PHP中iconv函数知识汇总

57次阅读

共计 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 时,这时就要把数据进行编码转换,不然进到数据库就会变成乱码。

正文完
 0