whjl1 2025-10-24 12:21 采纳率: 66.7%
浏览 7

为什么网页里有编码以外的汉字,也能显示出来?

比如这个网址:view-source:https://www.fojingzaixian.com/2.html
他的charset=gb 2312,
但是文中却有‘拏’这个字(还有其他的…),
这个‘拏’字,gb2312是没有的,
为什么上面的网页可以显示出来?
-0002 01.P0150 佛说七佛经 (1卷)〖宋 法天译〗

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-10-24 12:29
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题分析

    你好,根据你的问题描述,网页的编码是gb2312,但是网页中却有显示出编码范围之外的汉字,如“拏”字。

    解决方案

    这是因为gb2312编码虽然只支持部分汉字,但是在实际应用中,浏览器会使用字形补充(Glyph Substitution)机制来显示编码范围之外的汉字。

    核心部分代码

    // 使用 iconv 函数进行编码转换
    $gb2312_string = "拏";
    $utf8_string = iconv('gb2312', 'utf-8', $gb2312_string);
    echo $utf8_string;
    

    注意

    这个解决方案主要适用于PHP环境,如果你是在其他语言中遇到这个问题,可能需要使用相应的编码转换函数或库来解决。

    评论

报告相同问题?

问题事件

  • 创建了问题 10月24日