采集的数据中,原来是日文的"ブリーチ, Burīchi",html代码中是ブリーチ, Burīchi,这样做有个好处,网页就不一定要像UTF-8这样的编码,但是想要原来的文字,php转半天过不来,后来发现是未指定编码集,用

html_entity_decode("ブリーチ, Burīchi",ENT_NOQUOTES,'UTF-8')

就可以了。
其实,原理也很简单,这个是模拟这个函数的功能,PHP4的话,就一定要用了

function unhtmlentities($string) 
{
 // replace numeric entities
 $string = preg_replace('/([0-9a-f]+);/ei', 'uchr(hexdec("\\1"))', $string);
 $string = preg_replace('/&#([0-9]+);/e', 'uchr("\\1")', $string);
 // replace literal entities
 $trans_tbl = get_html_translation_table(HTML_ENTITIES);
 $trans_tbl = array_flip($trans_tbl);
 return strtr($string, $trans_tbl);
}

function uchr ($codes) {
 if (is_scalar($codes)) $codes= func_get_args();
 $str= '';
 foreach ($codes as $code) $str.= html_entity_decode('&#'.$code.';',ENT_NOQUOTES,'UTF-8');
 return $str;
}
unhtmlentities("ブリーチ, Burīchi");

用.net实现下编码

   Byte[] bComments = Encoding.UTF8.GetBytes("一ンブル????中文");
   char[] cComments = Encoding.UTF8.GetChars(bComments);
   
   StringBuilder charBuilder = new StringBuilder();   
   foreach(char c in cComments)
   {
    if(c > '\u0800')
    {
     charBuilder.Append("&#");
     charBuilder.Append((int)c);
    } 
    else
    {
     charBuilder.Append(c);
    }
   }
   Response.Write(charBuilder.ToString());

这段代码的作用是将所有的中文、韩文、日文字符通过硬编码输出成为html实体。而Html实体是不受ResponseEncoding和页面编码集影响的。

说明:

\u0800 以上的为中、韩、日字符。

中文的范围:\u4e00 - \u9fa5,日文在\u0800 - \u4e00,韩文为\u9fa5以上。

转载于:https://www.cnblogs.com/xin478/archive/2009/02/16/1391708.html

特殊字符的html编码转化相关推荐

  1. Java的Unicode编码转化(多种情况处理方法)

    Java的Unicode编码转化(多种情况处理方法) Java转unicode转中文的情况使用的场景很多,是一个很常见的需求,按理来说,这样的功能应该被java集成起来,不过很遗憾,java提供的方法 ...

  2. java 处理unicode_[转]Java的Unicode编码转化(多种情况处理方法)

    转: [JDK自带了native2ascii,但是很多时候还是需要自己写程序去解析unicode编码问题,网上的decodeUnicode 这个方法实现有比较严重的解析问题实在是个大坑,转了作者的这篇 ...

  3. jq 编码 php解码,jQuery编码转化base64通过AJAX上传

    这次给大家带来jQuery编码转化base64通过AJAX上传,jQuery编码转化base64通过AJAX上传的注意事项有哪些,下面就是实战案例,一起来看一下. 本文实例讲述了jQuery实现文件编 ...

  4. Base64在线解析,编码转化为图片

    博主介绍: 22届计科专业毕业,来自湖南,主要是在CSDN记录一些自己在Java开发过程中遇到的一些问题,欢迎大家一起讨论学习,也欢迎大家的批评指正. 前言 虽然我自己Base64在线解析用的少,但是 ...

  5. Python爬虫笔记——Url解码时,如何将汉字转化为以 %开头的 gb2312 编码 和 将以%号开头的编码转化为汉字 的示例

    参考的链接: Url解码时,如何将汉字转化为以 %开头的 gb2312 编码 Python标准库urllib中parse.quote() Python之quote()使用 python之urlenco ...

  6. html设编码为中文简体,node.js将html字符实体编码转化成可识别的简体中文汉字

    node.js将html字符实体编码转化成可识别的简体中文汉字 2016-10-23    分类: nodejs笔记 node.js html 实体 编码 转化 汉字 中文 如果在node.js后台输 ...

  7. base64编码转换android,Android将base64编码转化成图片

    类似base64流的图片解析并展示: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBw ...

  8. C# 中文GBK编码转化

    中文转化GBK编码 System.Web.HttpUtility.UrlEncode("中国",Encoding.GetEncoding("GBK")) GBK ...

  9. python中 Unicode编码转化成中文

    在爬取内容的时候获得的是json格式,然后编码就是这样,想要转化为中文 "name":"\u534e\u5357\u7406\u5de5\u5927\u5b66" ...

  10. linux与windows编码转化

    最近在写实验报告时,由于在机房只能用windows系统,在程序没写完而转战linux时却总是发生出现乱码问题,之前修改几次无果,只好改为英文.今天特地抽出时间来解决这一问题,解决方法如下: 使用ico ...

最新文章

  1. 深入浅出--梯度下降法及其实现
  2. .NET Compact Framework下的蓝牙开发
  3. 实现call和apply
  4. (待完成)qbxt2019.05 总结2 - 数位DP
  5. c++ ptree判断是否存在节点_CTreeCtrl 查找 等于某值 的节点,并设置为高亮
  6. opensource项目_Opensource.com的写作主题从A到Z
  7. 发布倒计时1天!华为Mate 30系列五大新功能曝光
  8. 亚马逊Alexa已接入2万种设备,22岁开发者月入1万美元
  9. python百度百科-Python语言的发展简史
  10. 通过selenium突破极验验证实现登录
  11. C#获取程序所在的目录
  12. WSL使用史上最详细教程
  13. Flash 芯片类型介绍
  14. 如何授权接入芝麻小客服系统?
  15. @TableLogic注解
  16. 2019级第二次月赛暨软件计科联合新生赛题解
  17. 3月30日----4月3日二年级课程表
  18. ssdt函数索引号_获得SSDT函数名和索引号的代码
  19. STM32和51最小系统原理图以及PCB板图以及元件库
  20. 格兰杰因果检验准备-平稳性检验-Eviews

热门文章

  1. vmalloc与mmap
  2. adb server is out of date killing
  3. ISO 15765-2
  4. oracle服务器结构01
  5. linux内核配置成qspi挂载,【分享】在Linux/U-Boot里为QSPI Flash使用UBIFS
  6. python统计excel数据总行数_python 统计excel行数据库
  7. JAVA--set用法
  8. RoaringBitmap分析及使用
  9. 用maven骨架新建项目以及解决速度慢的问题
  10. python处理文件效率对比awk