<?php header('Content-Type:text/html;charset=utf-8'); $content = "abc阅谁问君诵,水落清香浮。下面是生僻字和特殊字符:<>'\"'[生僻字iteye无法识别]"; echo htmlspecialchars(filterUtf8($content), ENT_QUOTES); //过滤生僻字 所谓的生僻字是指超过三个字节的字符,或者非utf8字符 function filterUtf8($str) { /*utf8 编码表: * Unicode符号范围 | UTF-8编码方式 * u0000 0000 - u0000 007F | 0xxxxxxx * u0000 0080 - u0000 07FF | 110xxxxx 10xxxxxx * u0000 0800 - u0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx * */ $re = ''; $str = str_split(bin2hex($str), 2); $mo = 1<<7; $mo2 = $mo | (1<<6); $mo3 = $mo2 | (1<<5); //三个字节 $mo4 = $mo3 | (1<<4); //四个字节 $mo5 = $mo4 | (1<<3); //五个字节 $mo6 = $mo5 | (1<<2); //六个字节 for ($i = 0; $i < count($str); $i++) { if ((hexdec($str[$i]) & ($mo)) == 0) { $re .= chr(hexdec($str[$i])); continue; } //4字节 及其以上舍去 if ((hexdec($str[$i]) & ($mo6)) == $mo6) { $i = $i + 5; continue; } if ((hexdec($str[$i]) & ($mo5)) == $mo5) { $i = $i + 4; continue; } if ((hexdec($str[$i]) & ($mo4)) == $mo4) { $i = $i + 3; continue; } if ((hexdec($str[$i]) & ($mo3)) == $mo3) { $i = $i + 2; if (((hexdec($str[$i]) & ($mo)) == $mo) && ((hexdec($str[$i - 1]) & ($mo)) == $mo)) { $r = chr(hexdec($str[$i - 2])) . chr(hexdec($str[$i - 1])) . chr(hexdec($str[$i])); $re .= $r; } continue; } if ((hexdec($str[$i]) & ($mo2)) == $mo2) { $i = $i + 1; if ((hexdec($str[$i]) & ($mo)) == $mo) { $re .= chr(hexdec($str[$i - 1])) . chr(hexdec($str[$i])); } continue; } } return $re; } ?>
效果图:
相关推荐
处理生僻字是信息技术中的一个特殊挑战,因为这些字符的编码复杂,且在不同的系统和平台中支持程度不同。本文将详细介绍如何利用.NET框架来处理生僻字,以及在VB应用中调用相关的动态链接库(DLL)。 首先,我们来...
标题“font_生僻字.zip”表明这是一份与生僻字相关的压缩文件,很可能包含的是特殊字体或者字库,用于显示那些不常见或者在日常生活中很少使用的汉字。生僻字,顾名思义,指的是那些在汉语中使用频率极低的字符,...
在使用Chrome浏览器时,有时会遇到显示生僻字的问题,这主要是由于系统默认的字体库不包含某些罕见或特殊的汉字,导致浏览器无法正确渲染。Chrome生僻字解决方案主要涉及以下几个方面: 1. **字体替换**:Chrome...
2. **拼音转换**:调用拼音库,将每个汉字转换为拼音,考虑到生僻字,可能需要特殊处理。 3. **处理多音字**:许多汉字有多个读音,根据上下文选择合适的拼音,或者提供所有可能的读音。 4. **提取首字母**:从拼音...
中国最早的文字是商代的甲骨文,约为3500至4500字,因为其中有些符号,现在也不能确定是不是文字,或者那个时代的生僻字,给今天甲骨文字数的统计制造了大麻烦。本安装包包含大部分生僻字字体文件,一键安装方便快速...
在处理中文环境下的数据时,经常会遇到一些生僻字或者特殊字符在数据库中的排序问题。这些问题往往会导致查询结果不符合预期,尤其是在使用像DB2这样的大型关系型数据库管理系统(RDBMS)时更为明显。例如,在使用...
标题中的“生僻字与16进制的转换”是一个关于字符编码和数据表示的专题。在计算机系统中,字符的存储和传输通常涉及到各种编码方式,如ASCII、GBK、UTF-8等。生僻字是指那些在常用汉字中不太常见的字,它们往往不在...
人口字库 生僻字输入和打印,显示都可以。方正宋一人口信息字库有三万个以上字符,非常全
此外,类库可能还提供了其他功能,比如支持多音字、声调标注,以及处理特殊字符的能力。这些特性使得该类库更加完善,能够适应各种复杂的转换需求。开发者还可以根据自己的项目需求对类库进行定制,增加更多的功能...
在IT领域,尤其是在编程实践中,有时我们...总的来说,这个代码实现解决了C++环境中处理汉字GBK编码并获取首字母的难题,特别考虑了生僻字、多音字和全角字符的情况,对于处理中文信息的程序设计具有很高的参考价值。
生僻字区位码对照表
- **字量规模**: 该字库包含了大约16,000个字符,覆盖了大量的生僻字需求,满足了不同领域的使用场景。 - **版权情况**: 这个字库并未申请专利保护,而是以非商业目的在师友、同行之间免费流通。这意味着任何人可以...
在项目开发过程中发现,读取表格列,相同的两个字如“思思”,读取出来的是特殊符号,还有读取其他的某些字符或生僻字,都会显示特殊符号,通过这个代码已经完美解决。
生僻字带增强图片数据集是一个专门针对生僻汉字的图像处理资源,它结合了计算机视觉和自然语言处理领域的知识,旨在帮助开发者和研究人员训练更准确的汉字识别模型,特别是对于那些不常见、使用频率较低的汉字。...
很多输入法中没有的汉字可以从这里输入。源自公安局人民录入系统。
通过生僻字作为标记,不仅可以避免常规高亮方式可能带来的排版问题,还能提供更好的用户体验,因为用户在阅读过程中不太可能注意到这些特殊的字符。 在提供的链接中,博主liangjian103在ITEYE博客分享了相关的实现...
前辈的汉字转拼音首字母适合于delphi高版本,用笨办法成delphi7可用,效率不算差,这个最大的好处,遇到任何生僻字,都可以通过调整识别解决,已经解决了一大部分生僻字了。