欢迎访问 水平网    今天是:2018年06月22日 注册 | 登录 | 订阅 | 收藏
>> 搜索:UTF-8
推荐文章
热点文章
专题
JQuery框架
Prototype.js
HTML5

PHP的UTF-8中文转拼音处理类

以下是PHP代码:【复制】 <?php/** * PHP 汉字转拼音 * @author Jerryli(hzjerry@gmail.com) * @version V0.20140715 * @package SPFW.core.lib.final * @global SEA_PHP_FW_VAR_ENV * @example * echo CUtf8_PY::encode('阿里巴巴科技有限公司'); //编码为拼音首字母 * echo CUtf8_PY::encode('阿里巴巴科技有限公司', 'all'); //编码为全拼音 */class CUtf8_PY { /** * 拼音字符转换图 * @var array */ private static $_aMaps = array( 'a'=>-20319,'ai'=>-20317,'an'=>-20304,'ang'=>-20295,'ao'=>-20292, 'ba'=>-20283,'bai'=>-20265,'ban'=>-20257,'bang'=>...
类别:网页编程 - PHP技术,阅读:2708,更新:2017-03-22

UTF-8,GBK,GB2312编码规则与检测

UTF8 是兼容 ascii 的,所以 0~127 就和 ascii 完全一致了。gbk 的第一字节是高位为 1 的,第 2 字节可能高位为 0 。这种情况一定是 gbk ,因为 UTF8 对 >127 的编码一定每个字节高位为 1 。另外,对于中文,UTF8 一定编码成 3 字节。(似乎亚洲文字都是,UTF8 中双字节好象只用于西方字符集),所以型如 110***** 10****** 的,我们一概看成 gbk/gb2312 编码。这就解决了“位”的问题。汉字以及汉字标点(包括日文汉字等),在 UTF8 中一定被编码成:1110**** 10****** 10******连续汉字数量不是 3 的倍数的 gb2312 编码的汉字字符串一定不会被误认为 UTF8 。用了一些gbk 扩展字,或是插入了一些 ascii 符号的字...
类别:其它 - 字符编码,阅读:934,更新:2014-06-06

UTF-8编码里边的no BOM和BOM

UTF-8 编码的文件可以分为no BOM 和 BOM两种格式何谓BOM? "EF BB BF" 这三个字节就叫BOM,BOM的全称叫做"Byte Order Mard".在utf-8文件中常用BOM来表明这个文件是UTF-8文件,而BOM的本意实在utf16中用来表示高低字节序列的。在字节流之前有BOM表示采用低字节序列(低字节在前面),而utf8不用考虑字节序列,所以其实有无BOM都可以。微软的记事本 Word 等只能正确打开含BOM的UTF8文件,然后UltraEdit却恰恰相反,回把BOMutf8文件 误认为ascii编码。UTF-8的BOM是EFBBBF,因为UE载入UTF-8文件会转成Utf16,上述的EFBBBF 在Utf16中是FFFE...
类别:其它 - 字符编码,阅读:783,更新:2014-06-01

UTF-8字符集的基础知识

字符集简史在所有字符集中,最知名可能要数被称为ASCII的7位字符集了。它是美国信息交换标准委员会(American Standards Committee for Information Interchange)的缩写, 为美国英语通信所设计。它由128个字符组成,包括大小写字母、数字0-9、标点符号、非打印字符(换行符、制表符等4个)以及控制字符(退格、响铃等)组成。 但是,由于他是针对英语设计的,当处理带有音调标号(形如汉语的拼音)的欧洲文字时就会出现问题。因此,创建出了一些包括255个字符的由ASCII扩展的字符集。其中有一种通常被成为IBM字符集,它把值为128-255之间的字符用于画图和画线,以及一些特殊的欧洲字符。另一种8位字符集是ISO 8859-1 Lati...
类别:其它 - 字符编码,阅读:628,更新:2014-06-01

一段把客户端的中文字串转换成UTF-8的代码

开发ASP.NET,我经常要在客户端的javascript代码中使用window.location='WebForm1.aspx?Param1=中文字串'来跳转页面,但在跳转之前必须要把中文字串转换成UTF-8的代码,否则如果中文字串中间存在空格之类的字符就会引起问题。 实际上IE 5.5+,Netscape 6+,Mozilla中已经有了转换函数,即encodeURIComponent,但对于低版本的浏览器则需要一下代码。/* ***************************** Most of this code was kindly ** provided to me by** Andrew Clover (and at doxdesk dot com)** http://and.doxdesk.com/ ;** in response to my plea in my blog at ** http://worldtimzone.com/blog/date/2002/09/24** It was unclear ...
类别:网页编程 - ASP.NET,阅读:695,更新:2014-05-20

UTF-8转换成GB2312的全处理

主题:将UTF-8编码的字符串转化成GB2312的编码,没有对应编码的字符串转化为&#DEC; 的格式。如 회=>&#54924; 语言:PHP,Javascript 内容:浏览器用Javascript中encodeURI函数将字符串(包含非GB2312中字符)编码,GET请求到服务器,页面编码均为GB2312,服务器PHP脚本将请求数据转换成GB2312表示。 基础:   1. 单独使用iconv函数只能转换GB2312字符,外文字符无法转换   2. 没有现成的函数可以用   3. bindec()函数:将二进制格式的"01"字符串转换为十进制数   4. decbin()函数:将十进制数转换为二进制字符串,如decbin(224)="11100000"   思路:因为UT...
类别:网页编程 - PHP技术,阅读:707,更新:2014-05-19

PHP实现gb2312、UTF-8等字符和unicode间的编码转换及PHP版unescape

<? /**  * 将字符串转换成unicode编码  *  * @param string $input  * @param string $input_charset  * @return string  */ function str_to_unicode($input, $input_charset = 'gbk'){  $input = iconv($input_charset, "gbk", $input);  preg_match_all("/[x80-xff]?./", $input, $ar);  $b = array_map('utf8_unicode_', $ar[0]);  $outstr = join("", $b);  return $outstr; } function utf8_unicode_($c, $input_charset = 'gbk'){  $c = iconv($input_charset, 'utf-8', $c);  return utf8_unicode($c); } // utf...
类别:网页编程 - PHP技术,阅读:606,更新:2014-05-19

不用iconv库的gb2312与utf-8的互换函数

一份gb2312.txt(184799字节)确实显得太大了点,而且还要经unicode转换。这份对照表为51965字节,要小的多了。对于无法使用iconv函数库的场合还是很实用的。<?php//对照表的使用$filename = "gb2utf8.txt";$fp = fopen($filename,"r");while(! feof($fp)) {list($gb,$utf8) = fgetcsv($fp,10);$charset[$gb] = $utf8;}fclose($fp);//以上读取对照表到数组备用/** gb2312到utf-8 **/function gb2utf8($text, &$charset) {//提取文本中的成分,汉字为一个元素,连续的非汉字为一个元素preg_match_all("/(?:[x80-xff].)|[x01-x7f]+/",$text,$tmp);$tmp = $tmp[0];//分离出汉字$ar = array_intersect($tmp, array_keys($charset));//替换汉字...
类别:网页编程 - PHP技术,阅读:457,更新:2014-05-19

PHP对GB编码动态转UTF-8几种方法评测

在《IP地址->地理位置转换的测评》一文中提到用ip2addr函数直接读取IP数据库文件是效率最高的,相比用MySQL数据库存储IP数据,用SQL查询是效率最低的。但是IP数据库文件QQWry.dat是GB2312编码的。现在我需要UTF-8编码的地理位置结果。如果用MySQL方法,可以在数据存入数据库时就转换为UTF-8编码,一劳永逸。但是QQWry.dat文件又无法修改,只能把ip2addr函数的输出结果再进行动态转换。动态转换GB->UTF-8编码至少有四种方法:用PHP的iconv扩展转换用PHP的mb_string扩展转换用对换表转换,对换表存储在MySQL数据库中用对换表转换,对换表存储在文本文件中前两种方法要服务器作了相应设置(编...
类别:网页编程 - PHP技术,阅读:600,更新:2014-05-19

UTF-8到ACSII的转换(让自己的C++程序支持多语言)

我的思路是这样的:在配置文件(基本上使用XML格式)中采用UTF-8编码,这样世界上的任何文字就都可以显示了。但是如果直接将配置内容读出并显示,在你的C++程序里面肯定是乱码,那么怎么解决呢?步骤如下(直接看代码吧)char szUTF8 [] = {0xE4,0XBB,0XB7,0XE5,0X80,0XBC};//是汉语的价值两个字int nLen = MultiByteToWideChar( CP_UTF8, 0, szUTF8, -1, NULL, NULL );//得到UTF8编码的字符串长度,是2LPWSTR lpwsz = new WCHAR[nLen];MultiByteToWideChar( CP_UTF8, 0, szUTF8, -1, lpwsz, nLen );//转换的结果是UCS2格式的价值两个字int nLen1 = WideCharTo...
类别:C/S程序开发 - C/C++,阅读:695,更新:2014-05-19

MFC下Unicode到UTF-8格式的转换

UNICODE 通过用双字节来表示一个字符,从而在更大范围内将数字代码映射到多种语言的字符集。MFC 以宏的形式提供了将一般文本转换成 UNICODE 数据类型的途径。开发人员只需要稍微改变一下编写代码的习惯便可以轻松编写支持 UNICODE 的应用。定义部分:通用 多字节 宽字节_TCHAR/TCHAR char wchar_t_T 或_TEXT char 常量字符串 wchar_t 常量字符串 LLPTSTR char *(或win32下LPSTR) wchar_t *LPCTSTR const char * LPCSTR const wchar_t * 通用形式就是自动的判断当前是否定义了_UNICODE字符集,例 如果是的话typedef wchar_t TCHAR;不是的话typedef char TCHA...
类别:其它 - 字符编码,阅读:810,更新:2014-05-09

UTF-8是什么

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到4个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如日文,韩文)字符集简史在所有字符集中,最知名的可能要数被称为ASCII的7位字符集了。它是美国标准信息交换代码(American Standard Code for Information Interchange)的缩写, 为美国英语通信所设计。它由128个字符组成,包括大小写字母、数字0-9、标点符号、非打印字符(换行符、制表符等4个)以及控制字符(退格、响铃等)组成。但是,由于他是针对英语设计...
类别:其它 - 字符编码,阅读:604,更新:2014-05-09