AI编程助手
AI免费问答

PHP htmlentities() 函数

  2016-06-23 14:34   1381浏览 原创

之前运用到了一个php导出excel的类,里面有一段代码用来过滤字符串里的引号。用到了htmlentities() 函数,后来导出excel的时候又一个字无法导出,感觉很奇怪,所有字都行就只有这个字不行,后来翻查了一下这个函数的相关资料。

定义和用法

htmlentities() 函数把字符转换为 HTML 实体。

htmlentities(string,quotestyle,character-set)

参数 描述
string 必需。规定要转换的字符串。
quotestyle

可选。规定如何编码单引号和双引号。

ENT_COMPAT - 默认。仅编码双引号。 ENT_QUOTES - 编码双引号和单引号。 ENT_NOQUOTES - 不编码任何引号。
character-set

可选。字符串值,规定要使用的字符集。

ISO-8859-1 - 默认。西欧。 ISO-8859-15 - 西欧(增加 Euro 符号以及法语、芬兰语字母)。 UTF-8 - ASCII 兼容多字节 8 比特 Unicode cp866 - DOS 专用 Cyrillic 字符集 cp1251 - Windows 专用 Cyrillic 字符集 cp1252 - Windows 专用西欧字符集 KOI8-R - 俄语 GB2312 - 简体中文,国家标准字符集 BIG5 - 繁体中文 BIG5-HKSCS - Big5 香港扩展 Shift_JIS - 日语 EUC-JP - 日语

原来character-set设置GB2312字符集,无法导出的那个文字是“?”,后来翻查一下,GB2312字符集里面根本就没有“?”字,所以导出来的EXCEL里,含有该字的单元格都为空。

解决方法,character-set设置为UTF-8字符集,这样的话,需要把导出EXCEL的数组也转化成UTF-8字符集。

遇到问题,不要害怕,想办法去解决才是王道。






php免费学习视频:立即学习
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
上一条:PHP RSA研究 下一条:关于PHP SESSION