【PHP编码的几个最佳实践】教程文章相关的互联网学习教程文章

PHP中iconv函数编码转换乱码解决技巧

PHP中iconv函数编码转换乱码解决技巧iconv函数让PHP读取UTF-8内容更方便了,不过此函数有一个BUG,就是会把汉字截断;解决办法有一个,就是在在iconv函数第二个参数后加上//IGNORE该参数的意义是是忽略转换时的错误;例子如下:$Result=iconv(UTF-8,GB2312//IGNORE,$Result); //编码转换

PHP编码电子邮件地址,防止被垃圾邮件程序收集

PHP编码电子邮件地址以下代码可以将任何电子邮件地址编码为 html 字符实体,以防止被垃圾邮件程序收集。 function encode_email($email=info@domain.com, $linkText=Contact Us, $attrs =class="emailencoder" ) { // remplazar aroba y puntos $email = str_replace(@, @, $email); $email = str_replace(., ., $email); $email = str_split($email, 5); $linkText = str_replace(@, @, $linkText); $linkText = str_r...

php中常见编码问题

php中常见编码问题 PHP程序设计中中文编码问题曾经困扰很多人,导致这个问题的原因其实很简单,每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的扩展 ASCII 码, 中国的 GB2312-80,日本的 JIS 等。作为该国家/区域内信息处理的基础,字符编码集起着统一编码的重要作用。字符编码集按长度分为 SBCS(单字节字符集),DBCS(双字节字符集)两大类。早期的软件(尤其是操作系统),为了解决本地字符信息的计算机处理,出现了...

PHP批量转换文件夹下所有文件编码

PHP转换文件夹下所有文件编码PHP转换文件夹下所有文件的编码 适合发布网站的其他编码版本 比如你有一个GBK版本 你想有一个UTF8版本 或者你只有GBK的源码 你想二次开发 但是你不想改变IDE的编码方式 你可以用这个程序将其批量转化为UTF8:代码如下: /*** 把一个文件夹里的文件全部转码 只能转一次 否则全部变乱码* @param string $filename*/ function iconv_file($filename,$input_encoding=gbk,$output_encoding=utf-8) {if(file...

php字符串编码转换iconv与mb_convert_encoding的区别

?PHP判断字符串编码函数mb_detect_encoding总结iconv — Convert string to requested character encoding(PHP 4 >= 4.0.5, PHP 5)mb_convert_encoding — Convert character encoding(PHP 4 >= 4.0.6, PHP 5)iconv — 字符串按要求的字符编码来转换 mb_convert_encoding — 转换字符的编码这两个函数功能类似都是用来转换字符串编码的;用法: string mb_convert_encoding ( string str, string to_encoding [, mixed from_encodi...

php读取和保存base64编码的图片【图】

php读取和保存base64编码的图片

UTF-8UnicodeANSI网页编码的区别及转换

1、ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今...

php自动获取字符串编码的函数mb_detect_encoding

当在php中使用mb_detect_encoding函数进行编码识别时,很多人都碰到过识别编码有误的问题,例如对与GB2312和UTF- 8,或者UTF-8和GBK(这里主要是对于cp936的判断),网上说是由于字符短是,mb_detect_encoding会出现误判。 例如: $encode = mb_detect_encoding($keytitle, array("ASCII",UTF-8′,"GB2312′,"GBK",BIG5′)); if ($encode == “UTF-8″){ $keytitle = iconv("UTF-8″,"GBK",$keytitle); } 这段代码的作用是检测字符串的...

php下检测字符串是否是utf8编码的代码的方法

给一个字符串,怎么判断它是什么编码呢?php有一个函数:mb_detect_encoding。不过这个东西需要有mb_string库,不是到处都能用的。 function is_utf8($string) { return preg_match(%^(?: [\x09\x0A\x0D\x20-\x7E] # ASCII | [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte | \xED[\x80-\x9F][\x80-\xBF] # excluding ...

PHP中自动识别文字编码并转换的方法

在PHP处理页面的时候,我们对于字符集的转换都是采用了iconv或者mb_convert等函数,但,这其实是有一个前提的。即我们事先得知道in和out是什么样的编码,我们才能进行正确的转换。虽然大多数转换都是在gbk和utf-8之间转,但如果不知道转换对象的编码怎么办呢?谷歌出来这么一个函数safeEncoding,可以简单的识别UTF8和GBK的编码。这个函数在一定程度上识别的很准确,但是在一些比较复杂的环境中就不是那么的好用了. 下面我结合了GBK和...

PHP中GBK和UTF8编码处理方法

PHP中GBK和UTF8编码处理方法一、编码范围1. GBK (GB2312/GB18030)\x00-\xff GBK双字节编码范围 \x20-\x7f ASCII \xa1-\xff 中文 \x80-\xff 中文2. UTF-8 (Unicode)\u4e00-\u9fa5 (中文) \x3130-\x318F (韩文 \xAC00-\xD7A3 (韩文) \u0800-\u4e00 (日文)ps: 韩文是大于[\u9fa5]的字符正则例子: PHP:preg_replace(""/([\x80-\xff])/"","""",$str); preg_replace(""/([u4e00-u9fa5])/"","""",$str);二、其他语言代码例子 PHP://判断内...

JS和PHP中URL编码转换:escape()、encodeURI()、encodeURIComponent()

JS和PHP中URL编码转换:escape()、encodeURI()、encodeURIComponent()escape() 方法:该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ( ) 。encodeURI() 方法:该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ( ) 。该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不...

PHP中UNICODE编码和解码方法

PHP中UNICODE 编码和解码方法方法一: <?php function unicode_encode($name) {$name = iconv(UTF-8, UCS-2, $name);$len = strlen($name);$str = ;for ($i = 0; $i < $len - 1; $i = $i + 2){$c = $name[$i];$c2 = $name[$i + 1];if (ord($c) > 0){ //两个字节的文字$str .= \u.base_convert(ord($c), 10, 16).str_pad(base_convert(ord($c2), 10, 16), 2, 0, STR_PAD_LEFT);}else{$str .= $c2;}}return $str; }//将UNICODE编码后...

PHP实现Unicode和Utf-8编码的互相转换

最近恰好要用到unicode编码的转换,就去查了一下php的库函数,居然没找到一个函数可以对字符串进行Unicode的编码和解码!也罢,找不到的话就自己实现一下了。。。 Unicode和Utf-8编码的区别 Unicode是一个字符集,而UTF-8是Unicode的其中一种,Unicode是定长的都为双字节,而UTF-8是可变的,对于汉字来说Unicode占有的字节比UTF-8占用的字节少1个字节。Unicode为双字节,而UTF-8中汉字占三个字节。 UTF-8编码字符理论上可以最多...

我的php编码规范

为什么我们要培养自己的编码规范? 我们写代码的时候,一个好的编码规范,对我们来说能够起到很多意向不到的效果。至少会有一下的好处:1、提高我们的编码效率。整齐划一的代码方便我们进行复制粘贴嘛!2、提高代码的可读性。3、显示我们专业。别人看到了我们的代码,发现整个代码的书写流程都整齐划一,瞬间逼格就上去了!4、方便团队协同工作。大家使用同一的规范,这样就消除了五花八分的书写方式,同一协调! 编码规范包含两...