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

iconv命令 php,PHP中iconv函数知识汇总相关推荐

  1. 比特币中的密码学知识汇总

    比特币中的密码学知识汇总 目前,我的阅读比特币源码系列文章已经更新了5篇,对应于精通比特币前3章内容的学习. 现在来到第4章密钥与地址的学习,本章主要介绍了比特币系统中公钥,私钥和地址之间相互的关系, ...

  2. java接口那一节是哪的知识_Java中的接口知识汇总

    Java中的接口知识汇总 发布于 2020-4-29| 复制链接 本文给大家汇总介绍了在java中的接口知识,包括为什么要使用接口.什么是接口.抽象类和接口的区别.如何定义接口以及定义接口注意点,希望 ...

  3. python getopts_linux bash shell 中getopts 命令 和 python 中 getopt 函数的比较总结

    在 python 中有个获取命令行参数的函数叫 getopt(args, shortopts, longopts=[]) 通常我们使用的时候是如下的形式: import sys import geto ...

  4. Python 函数知识汇总

    1. 函数的理解和定义 ① 是什么 函数是一段具有特定功能.可重用的语句组,是一种功能的抽象. ② 作用 降低编程难度和代码复用 ③ 怎么用 def <函数名>(<参数(0个或多个) ...

  5. 自行车中的物理知识汇总

    自行车中包含的物理知识有哪些?虽然自行车结构简单,方便实用,但其中涉及到很多物理知识,包括杠杆.轮轴.摩擦.压强.能量的转化等力学.热学及光学知识,下面让我们具体来分析一下. 一.力学知识 1.摩擦方 ...

  6. c语言中0x12是什么进制,C语言中进制知识汇总

    1.什么是进制 进制是一种计数的方式,常用的有二进制.八进制.十进制.十六进制.任何数据在计算机内存中都是以二进制的形式存放的. 我对进制的个人理解,二进制数是以2为计算单元,满2进1位的数:八进制数 ...

  7. java中类的接口是什么_Java中的接口知识汇总

    一.为什么要使用接口 假如有一个需求:要求实现防盗门的功能.门有"开"和"关"的功能,锁有"上锁"和"开锁"的功能. 分 ...

  8. 使用iconv命令轻松实现linux下字符集编码的转换

    昨天晚上郎师兄打电话说,我的结果文件他打开是乱码,问我是不是字符编码没处理好.早晨早早的来到实验室,请教了下同学,才知道linux shell 配置文件中默认的字符集编码为UTF-8 .UTF-8是u ...

  9. 在Linux/Unix系统下用iconv命令处理文本文件中文乱码问题

    iconv命令是运行于linux/unix平台的文件编码装换工具.当我们在linux/unix系统shell查看文本文件时,常常会发现文件的中文是乱码的,这是由于文本文件的编码与当前操作系统设置的编码 ...

最新文章

  1. iOS 直播专题2-音视频采集
  2. 基于FCN的图像语义分割
  3. Unity C#基础之 反射反射,程序员的快乐
  4. WebRTCon 2018 Day One精彩回顾
  5. 如何找出SAP Fiori launchpad URL start_up请求发起的具体位置
  6. 月息2%的贷款算高利贷吗?
  7. springboot 闪退。falling back to default profiles: default StandardService - Stopping service [Tomcat]
  8. 特斯拉2019年第二季度财报出炉:今年有望降低汽车售价
  9. iso镜像添加软件包_超薄Docker容器-减少Docker镜像大小的指南
  10. gcn在图像上的应用_使用图卷积网络(GCN)做图像分割
  11. 【纸牌识别】基于matlab形态学扑克牌识别【含Matlab源码 1352期】
  12. 双极性根升余弦信号qpsk_基于CCSDS协议的中频信号源设计与实现
  13. 【原创】CentOS8最小化安装中系统命令,看你能认识几个
  14. 不记得是哪部电影里的段子了
  15. oracle用户配额不足,ORACLE 表空间不足与用户配额(限额)不足的问题解决
  16. android安装nodejs6,使用安卓手机搭建node-red
  17. SecureCRT中常用linux命令
  18. js 判断字符串是中文、数字、大小写字母
  19. 【技术解析笔记】DDPM解析
  20. 运放的输出电压摆幅(Output Voltage Swing)

热门文章

  1. python入门之字符串
  2. Oracle 停止数据泵导入数据
  3. IDEA 连接 数据库
  4. java整数能强转转字符,Java中数据类型默认转换和强制类型转换
  5. 汽车CAN通信基础知识-数据类型(Java,C,JS之间转换)
  6. KeyError: ‘Failed to format this callback filepath
  7. ISE的ChipScope波形存储与Modelsim查看
  8. Myeclipse 如何取消默认项目工作空间
  9. UE4 HTN插件源码解析
  10. paddleOCR SystemError: (Fatal) Blocking queue is killed because the data reader raises an exception.