在使用这个函数进行字符串编码转换时,需要注意,如果将utf-8转换为gb2312时,可能会出现字符串被截断的情况发生。...ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。 iconv不是php的默认函数,也是默认安装的模块。需要安装才能用的。...如果是windows2000+php,你可以修改php.ini文件,将extension=php_iconv.dll前的”;”去掉,同时你要copy你的原php安装文件下的iconv.dll到你的winnt...(Linux7.3+Apache4.06+php4.3.2)。 mb_convert_encoding与iconv函数介绍 mb_convert_encoding这个函数是用来转换编码的。...一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数。
; echo ''; echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8 echo '';...> iconv不是php的默认函数,也是默认安装的模块。需要安装才能用的。...如果是 windows2000+php,你可以修改php.ini文件,将extension=php_iconv.dll前的";"去掉,同时你要copy你 的原php安装文件下的iconv.dll到你的winnt...> PHP中的mb_convert_encoding与iconv函数介绍 mb_convert_encoding这个函数是用来转换编码的。原来一直对程序编码这一概念不理解,不过现在好像有点开窍了。...一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数. 1 from_encoding is specified
在以前的学习当中,比方说有一次的写采集过程中转换字符的编码的时候老是失败,转换的结果总没有完全输出,后来经过网络查询得知是iconv有一个“-”漏洞,所以我们有必要掌握PHP的另一个字符编码函数mb_convert_encoding...函数原型: /** * 多字节字符串编码转换函数 * * @param string str 需要进行编码转换的字符串 * @param string to_encoding 指定转换为某种编码,如:gb2312...另外有一种区别说法是 1、mb_convert_encoding() 该函数会根据内容自动识别编码,但是执行效率比iconv差; 2、然后有一种说法就是iconv()在一些字符转换下会不正常,网上有种说法就是...另外mb_convert_encoding没有这个bug. 3、mb_convert_encoding()是PHP扩展函数,要开启扩展库才能用;而iconv是PHP内置函数,不需另外开启扩展库就可以使用...4、一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数.
一开始,我并没有什么办法,试过把PHP脚本文件的编码也改成GBK,也可以用,但是想到这种方法太low了,所以找一找PHP中有没有函数可以满足我的需求。...我们常使用: $out_charset='utf-8'; $fileName=iconv($fileName,$out_charset,'gbk'); 来处理文件名,将文件名改从gbk改为UTF-8而内容不变...mb_string函数里有一个mb_convert_encoding()函数,可以将一个字符串的编码改变,其函数原型如下: string mb_convert_encoding ( string $str...因为找不到一个确切的无法转码的字符,也不知道它遇到无法转码的字符会怎么处理。 通过mb_convert_encoding()函数,将整个文件处理了一下,于是,问题顺利解决。...而在mb_strpos()函数中,mb_strpos("欢迎来访问","问",0,'utf-8')则会返回4,它会将字符串当作已经转UTF-8的状态执行。
macce baltic polish: ISO-8859-2 CP1250 IBM852 macce ISO-8859-13 ISO-8859-16 baltic CORK russian: KOI8...test.txt GBK 转换文件编码格式 在知道了文件的正确编码格式之后, 我们往往会希望将文件转换为UTF8之类常用或者系统默认支持的编码格式, 以便后续进一步处理....transformation format 8 bits; UTF-8 可以看到, 在执行enca -x UTF8 -L chinese test.txt命令后, 文件 test.txt 的编码从GB2312转换为了...如果我们希望将一个GBK编码的文件转换为UTF8编码, 可以以以下方式使用 iconv 命令: # iconv -f GBK -t UTF8 test.txt 其中test.txt是要被转换的文件, -...如果希望将转换后的内容保存到文件, 可以添加-o参数: # iconv -f GBK -t UTF8 -o test_converted.txt test.txt 这个命令就会将转换后的内容自动保存到
在以前的学习当中,比方说有一次的写采集过程中转换字符的编码的时候老是失败,转换的结果总没有完全输出,后来经过网络查询得知是iconv有一个“-”漏洞,所以我们有必要掌握PHP的另一个字符编码函数mb_convert_encoding...函数原型: /** * 多字节字符串编码转换函数 * * @param string str 需要进行编码转换的字符串 * @param string to_encoding 指定转换为某种编码...另外有一种区别说法是 1、mb_convert_encoding() 该函数会根据内容自动识别编码,但是执行效率比iconv差; 2、然后有一种说法就是iconv()在一些字符转换下会不正常,网上有种说法就是...另外mb_convert_encoding没有这个bug. 3、mb_convert_encoding()是PHP扩展函数,要开启扩展库才能用;而iconv是PHP内置函数,不需另外开启扩展库就可以使用...4、一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数.
所以决定用php把那些该死的乱码文件全部全部转一下编码再保存… 在使用file_put_contents的时候,遇到比较郁闷的问题,文件格式是对了,但里面却乱码了,后面想想,觉得应该是先删除文件再进行处理...在使用iconv函数时,先开始用gb2312->utf-8发现不行,部分字符串无法读入进去,然后抱着试试的心态,使用gbk->utf-8居然行了~ ~ ---注:在转码前需要判定该文件编码格式是否为utf...-8,如果为utf-8转码反而出错 花几分钟写的,有点乱,达到预期目标就成。...php 4: 5: function reSaveFile($path) { 6: 7:...(mb_convert_encoding($str, "UTF-32", "UTF-8"), "UTF-8", "UTF-32")) { 42: return true
实例 把预定义的字符 “<” (小于)和 ” ” (大于)转换为 HTML 实体: <?php $str = "This is some <b bold</b text....运行实例 定义和用法 htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。...自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。 double_encode 可选。布尔值,规定了是否编码已存在的 HTML 实体。 TRUE – 默认。...自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。 double_encode 可选。布尔值,规定了是否编码已存在的 HTML 实体。 TRUE – 默认。...下面看下PHP htmlspecialchars()的用法 htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。
PHP strip_tags() 函数 定义和用法 strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。防注入 注释:该函数始终会剥离 HTML 注释。...这点无法通过 allow 参数改变。 注释:该函数是二进制安全的。 语法 strip_tags(string,allow) 复制代码 参数 描述 string 必需。规定要检查的字符串。...htmlspecialchars() 函数 定义和用法 htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。...自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。 double_encode 可选。布尔值,规定了是否编码已存在的 HTML 实体。 TRUE - 默认。...(反之,序列化字符串转对象或数组:unserialize() ) serialize() 函数序列化对象后,可以很方便的将它传递给其他需要它的地方,且其类型和结构不会改变。
MySQL Server收到请求时将请求数据从character_set_client转换为character_set_connection; 2....将操作结果从内部操作字符集转换为character_set_results。...同理可得 由上文可得宽字节注入是由于转编码而形成的,那具有转编码功能的函数也成了漏洞的成因。...转码函数 mb_convert_encoding() iconv() 以下用iconv()来演示,修改上面的代码: Default <!...代码二 1、使用了推荐的设置函数与过滤函数。 2、解析错误发生在iconv()函数转码时,GBK转向UTF8吃掉了“\” 3、PHP请求mysql时转码安全。
本文实例讲述了PHP基于自定义函数实现的汉字转拼音功能。分享给大家供大家参考,具体如下: 整个过程用到了pinyin.table文件。 pinyin.php <?...$text) return ''; $data = array(); $tmp = @file('pinyin.table'); // 将文件作为一个数组返回。...//IGNORE", $val); } return $tmp; } else { return iconv($from, $to."...//IGNORE", $str); } } else if(function_exists('mb_convert_encoding')) { if(is_array($str)) { fore/【php...} return $tmp; } else { return mb_convert_encoding($str, $to, $from); } } else { require_once 'convert.func.php
网上有很多php操作excel或其他文件的类库,也做的很完善。...比如我需要一个做php导出 excel的的程序,只需要把相关的数据导出到excel表就可以了,这么简单的操作就不需要用那些类库什么的了。...这就需要把单元格设置为文本格式,方法是 echo "=\"330181199006061234\"" 如果程序是utf-8编码的,还需要用iconv函数去转码,不然是会乱码的,乱码的。...iconv("UTF-8", "GB2312", $yourstr); 如果导出中文时出现乱码,可以尝试将字符串转换成gb2312,例如下面就把$yourStr从utf-8转换成了gb2312: $yourStr...= mb_convert_encoding(”gb2312″, “UTF-8″, $yourStr); 另word格式导入类似,,指定header就可以了: header("Content-Type:
实例 把预定义的字符 "" (大于)转换为 HTML 实体: <?php $str = "This is some bold text....运行实例 定义和用法 htmlspecialchars() 函数把预定义的字符转换为 HTML 实体。...之前的版本,无法被识别的字符集将被忽略并由 ISO-8859-1 替代。...自 PHP 5.4 起,无法被识别的字符集将被忽略并由 UTF-8 替代。 double_encode 可选。布尔值,规定了是否编码已存在的 HTML 实体。 TRUE - 默认。...下面看下PHP htmlspecialchars()的用法 htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。
4、iconv 是*nix系统里的转换字符编码的标准命令和API,如果我们希望将一个GBK编码的文件转换为UTF8编码, 可以以以下方式使用 iconv 命令。...utf-8格式 :set fileencoding=utf-8 2)、 iconv 转换,iconv的命令格式如下: iconv -f encoding -t encoding inputfile 比如将一个...在Linux中专门提供了一种工具convmv进行文件名编码的转换,可以将文件名从GBK转换成UTF-8编码,或者从UTF-8转换到GBK。...3)、对比 fileencoding 和 encoding 的值,若不同则调用 iconv 将文件内容转换为encoding 所描述的字符编码方式,并且把转换后的内容放到为此文件开辟的 buffer...若不同,再次调用 iconv 将即将保存的 buffer 中的文本转换为 fileencoding 所描述的字符编码方式,并保存到指定的文件中。
扩展库,在 php.ini里将; extension=php_mbstring.dll 前面的 ; 去掉 mb_convert_encoding 可以指定多种输入编码,它会根据内容自动识别,但是执行效率比...iconv差太多; string iconv ( string in_charset, string out_charset, string str ) 注 意:第二个参数,除了可以指定要转化到的编码以外...串行化的基础认识: 是指将一个变量(包括对象)转换成字节流的过程。...,这样在每个PHP页面中都可以使用这些对象。...PHP为我们提供了两个函数,用来进行串行化和反串行化的操作,这两个函数分别 是:serialize()和unserialize()。
(preg_replace("/[a-z]*测试/i","试试", $str)); // string(11) "abc����һ��" 首先我们将测试用的字符串转换为 GB2312 的形式。...这时直接使用 preg_ 相关的函数是无法正确获得我们想要的结果的。...字符串编码转换 就像我们之前学习过的 iconv() 函数一样,mb_ 库中也提供了字符编码转换的函数。...我们可以通过 mb_convert_encoding() 来转换它的编码内容。...另外,mb_parse_str() 是 parse_str() 函数的多字节版,我们可以将浏览器的默认编码转换成 GBK 或者 之后再来请求,因为我们设置当前的 mb_internal_encoding
将character_set_client设置成binary,就不存在宽字节或多字节的问题了,所有数据以二进制的形式传递,就能有效避免宽字符注入。 B、PHP 编码转换 漏洞示例代码: 测试语句: 錦' 錦这个字:它的utf-8编码是%e9%8c%a6,它的gbk编码是%e5%5c 錦被iconv从utf-8转换成gbk后,变成了%e5%5c,而后面的’被addslashes变成了...$id=iconv('gbk','utf-8',$id); //使用%df%27来测试 一个gbk汉字2字节,utf-8汉字3字节,如果我们把gbk转换成utf-8,则php会每两个字节一转换。...其他函数: mb_convert_encoding($id,'utf-8','gbk') //GBK To UTF-8与 iconv('gbk','utf-8',$id)一样 0x03 编码解码 找一些编码解码的函数来绕过防护...PHP 有很多可以用于检查输入的函数,从简单的变量函数和字符类型函数(比如 is_numeric(),ctype_digit())到复杂的 Perl 兼容正则表达式函数都可以完成这个工作。
部分细节 主要有以下几点功能,需要记录 第一节 file_get_content() 函数,在论坛上有可能无法使用,已经在 inc.php 文件中实现相同功能的 get_url_content() 函数...输出的情况下,有 error.php 下的 array_iconv() 函数,来对输出数组进行编码的转换。...('UTF-8', 'GBK//IGNORE', $str); return mb_convert_encoding($str, $out_charset, $in_charset);...) 函数来整合接受编码。...以上功能,重点在 wmapi/get_post_detail.php 、 wmapi/get_self_post.php 两个脚本中重点突出。
mysqli_real_escape_string() — 使用反斜线引用字符串 sql注入 stripslashes — 反引用一个引用字符串 strip_tags — 从字符串中去除 HTML 和 PHP...标记 htmlspecialchars — 将特殊字符转换为 HTML 实体 nl2br — 在字符串所有新行之前插入 HTML 换行标记 trim —...— 将字符串转化为大写 substr 2.多字节字符串 mb_convert_encoding 编码转换 iconv 编码转换 mb_strlen — 获取字符串的长度 都是一个 mb_substr...isset — 检测变量是否设置 $_GET["a"]; unset — 释放给定的变量 serialize — 产生一个可存储的值的表示 unserialize — 从已存储的表示中创建 PHP...的值 4.url函数 urlencode — 编码 URL 字符串 -_ urldecode — 解码 URL 字符串 base64_encode — 使用 MIME base64 对数据进行编码
本节课程我们来学习一些PHP内置函数,包括字符串、url编码、时间等函数 1.字符串处理 addslashes — 使用反斜线引用字符串 mysqli_real_escape_string() —...使用反斜线引用字符串 sql注入 stripslashes — 反引用一个引用字符串 strip_tags — 从字符串中去除 HTML 和 PHP 标记 htmlspecialchars — 将特殊字符转换为...— 将字符串转化为大写 substr 2.多字节字符串 mb_convert_encoding 编码转换 iconv 编码转换 mb_strlen — 获取字符串的长度 都是一个 mb_substr...isset — 检测变量是否设置 $_GET["a"]; unset — 释放给定的变量 serialize — 产生一个可存储的值的表示 unserialize — 从已存储的表示中创建 PHP...的值 4.url函数 urlencode — 编码 URL 字符串 -_ urldecode — 解码 URL 字符串 base64_encode — 使用 MIME base64 对数据进行编码
领取专属 10元无门槛券
手把手带您无忧上云