- 浏览: 112137 次
文章分类
最新评论
PHP自动判断字符集并转码的实例参考。
原理:
因为gb2312/gbk是中文两字节,这两个字节是有取值范围的,而utf-8中汉字是三字节,同样每个字节也有取值范围。而英文不 管在何种编码情况下,都是小于128,只占用一个字节(全角除外)。
如果是文件形式的编码检查,还可以直接check utf-8的BOM信息。话不多说,直接上函数,这个函数是用来对字符串进行检查和转码的。
附,php自动判断字符集并转码的实例代码:
原文地址:http://www.jbxue.com/article/12650.html
原理:
因为gb2312/gbk是中文两字节,这两个字节是有取值范围的,而utf-8中汉字是三字节,同样每个字节也有取值范围。而英文不 管在何种编码情况下,都是小于128,只占用一个字节(全角除外)。
如果是文件形式的编码检查,还可以直接check utf-8的BOM信息。话不多说,直接上函数,这个函数是用来对字符串进行检查和转码的。
附,php自动判断字符集并转码的实例代码:
<?php /** * 自动判断字符集并转码 * edit: www.jbxue.com */ function safeEncoding($string,$outEncoding ='UTF-8') { $encoding = "UTF-8"; for($i=0;$i<strlen($string);$i++) { if(ord($string{$i})<128) continue; if((ord($string{$i})&224)==224) { //第一个字节判断通过 $char = $string{++$i}; if((ord($char)&128)==128) { //第二个字节判断通过 $char = $string{++$i}; if((ord($char)&128)==128) { $encoding = "UTF-8"; break; } } } if((ord($string{$i})&192)==192) { //第一个字节判断通过 $char = $string{++$i}; if((ord($char)&128)==128) { // 第二个字节判断通过 $encoding = "GB2312"; break; } } } if(strtoupper($encoding) == strtoupper($outEncoding)) return $string; else return iconv($encoding,$outEncoding,$string); } ?>
原文地址:http://www.jbxue.com/article/12650.html
发表评论
-
php生成随机密码的自定义函数(转载分享)
2015-03-24 09:16 484php生成随机密码的自定义函数 发布时间:2015- ... -
PHP生成随机数的两种方法
2014-09-24 06:04 1383PHP生成随机数的两种方法 这里整理了php ... -
PHP分页代码实例分享
2014-09-19 19:39 589PHP分页代码实例教程 分享一段php分页代码,很简单, ... -
PHP读取csv文件的内容的方法。
2014-08-05 17:06 629PHP读取csv文件的内容的方法。 一次性读取csv文件内 ... -
分享---PHP下载文件的两种方法
2014-08-05 17:02 379PHP下载文件的两种方法与代码。 分享PHP实现下载文件 ... -
ThinkPHP URL重写问题实例详解
2014-06-22 22:13 760在使用thinkphp过程中,经常需要去掉URL路径中的in ... -
一个php 异常处理程序
2014-06-22 22:11 624一个php的异常处理程序,功能很简单当发生重大错误时,写日志 ... -
PHP清除指定html标签二个例子
2014-05-12 12:00 662在php中内置了一个html标签清除函数strip_tags ... -
php生成短网址的思路与方法(推荐)
2014-05-06 17:02 934生成短网址的思路以及使用php生成短网址的实现方法。 ... -
JS计算网页停留时间代码
2014-05-05 17:00 2161JS计算网页停留时间的代码。 <!DOCTYPE H ... -
php生成短网址的一例代码(仿微博短网址)
2014-05-05 16:58 567分享一个php短网址的生成代码。 <!DOCTYPE ... -
汉字转化为拼音(php版)
2014-03-21 16:54 481分享:汉字转化为拼音(php版) 很多服务器对于中文文件名支持 ... -
PHP 实现汉字转化拼音的函数
2014-03-21 16:48 858将汉字转拼音的代码,可以加到common文件里做公共函数。 代 ... -
php中文url转码实例
2014-03-21 16:45 2550PHP URL编码,可以使用 urlencode() 或者 r ... -
PHP图片验证码实例
2014-03-21 11:16 355在网上看到一个图片验证码,挻漂亮的,但是取回来发现,好像有 ... -
PHP中的类与面向对象
2014-03-20 09:15 506PHP编程中类与对象的区别: 类是抽象的,代表一类事物。 对象 ... -
解析PHP正则提取或替换img标记属性
2013-10-12 06:09 642对PHP正则提取或替换img标记属性进行了详细的分析介绍。 ... -
php 购物车的例子
2013-10-07 21:10 558php购物车的简单例子,使用cookie存购物车ID,db存购 ... -
php网上商城购物车设计代码分享
2013-10-07 21:07 2358一个可以包含促销活动的购物车,所以比较其他简单的购物车,会 ... -
php curl模拟登陆discuz论坛的代码
2013-10-07 21:04 869PHP支持的由Daniel Stenberg创建的libcu ...
相关推荐
在这种情况下,自动判断字符集并进行转码就显得尤为重要。本文将详细解释这个过程的原理,并提供一个用于检测和转换字符串编码的PHP函数。 首先,让我们理解字符编码的基本概念。GBK和GB2312是中国常用的简体中文...
本文将深入讲解如何使用PHP来自动识别字符集并完成转码,确保数据的正确显示和处理。 首先,我们需要理解不同字符编码的基本原理。UTF-8是最常用的多语言字符编码,它能够表示Unicode字符集中的所有字符。UTF-8的一...
由于中文字符集的复杂性,汉字转码在中文处理中尤为常见。 一、转码的基础知识 在计算机中,字符编码格式有很多种,比如常见的ASCII编码、Unicode编码以及各种针对不同语言的字符集编码(如GBK针对中文)。而...
- 在`phpMyAdmin/config.inc.php`文件中,可以设置默认的字符集和转码引擎: ```php $cfg['DefaultCharset'] = 'utf-8'; $cfg['RecodingEngine'] = 'iconv'; ``` 2. **字符串处理库中的字符集设置**: - 修改...
2. **PHP函数**:PHP内置了大量内置函数,例如`echo`用于输出字符串,`print_r`用于打印变量结构,`strlen`计算字符串长度,`file_get_contents`读取文件内容,`date`处理日期和时间等。 3. **PHP与数据库交互**:...
同时,源码使用UTF-8编码,这是一种广泛支持的多字节字符集,能处理世界上大多数语言,确保了系统在不同地区和语言环境下的兼容性。 三、VOD系统关键模块 1. **视频上传**:用户通过前端界面上传视频文件,后台PHP...
需要注意的是,转码过程可能会涉及到字符集问题,需要确保所有相关文件和数据库配置一致,以免出现乱码。 5. **部署与使用**: 将整个压缩包解压后放在网站根目录下即可运行。如果部署在非根目录,需要修改程序中...
GBK编码是一种广泛用于简体中文的字符集,它包含了大部分中文字符,使得该VOD系统能够良好地处理中文内容,确保用户界面和视频元数据的正确显示。在开发过程中,开发者需要关注编码的统一和转换,避免乱码问题,确保...
在上述过程中,如果CSV文件中的中文字符在导入时出现乱码问题,可以使用`iconv()`函数进行字符集转换,例如将`gb2312`转换为`utf-8`,以保证数据的正确显示。 文章中提到的示例代码展示了如何实现上述流程。一个...
3. **后端处理编码**:PHP文件如果没有明确指定字符集,则可能默认使用服务器的字符集(如`ISO-8859-1`),这与前端的字符集不匹配。 #### 三、解决方案 针对上述问题,我们可以采取以下两种主要的解决方案: ###...
GBK编码是此模板所采用的一种字符集,它是中国大陆广泛使用的汉字编码标准,能够支持大量的中文字符,确保了网站内容的正常显示。 首先,我们要了解什么是Discuz! X3.2。Discuz! 是一款开源的PHP论坛软件,由康盛...
1. **GBK编码**:PHPWind 7.5 SP3 使用GBK编码,这是中国地区常用的多字节字符集,能够支持大量的汉字,对于中文用户来说是非常友好的。GBK编码是在GB2312基础上扩展的,包含了更多的汉字和符号,但在处理非中文字符...
例如,GB2312-80、GBK、Big5等都是常用的汉字字符集,每个汉字通常使用2个字节表示,而每个字节的ASCII码范围在161-254之间(16进制A1-FE)。 #### JS中的字符转换 JavaScript提供了多种方法来实现字符编码的转换...