中国人民银行-生僻字处理指南-27页.pdf
ICS 35.240.40CCS A 11JR中 华 人 民 共 和 国 金 融 行 业 标 准JR/T 02532022金融服务生僻字处理指南Financial servicesGuidelines for processing rarely used Chinesecharacters2022-6-24 发布2022-6-24 实施中国人民银行发 布每日免费获取报告1、每日微信群内分享7+最新重磅报告;2、每日分享当日华尔街日报、金融时报;3、每周分享经济学人4、行研报告均为公开版,权利归原作者所有,起点财经仅分发做内部学习。扫一扫二维码关注公号回复:研究报告加入“起点财经”微信群。JR/T 02532022II目次前言.IV引言.V1 范围.12 规范性引用文件.13 术语和定义.14 缩略语.35 总体原则与策略.35.1 总体原则.35.2 信息系统处理汉字的通用架构.45.3 生僻字处理分级.45.4 生僻字处理策略.46 生僻字的输入.46.1 输入法.56.2 机读设备输入.56.3 其他方法输入.56.4 信息系统输入配备.67 生僻字的显示.67.1 字库.67.2 信息系统字库的配备.78 生僻字的打印.78.1 柜台 PC 通用打印机.78.2 报表高速打印机.88.3 打印机字库升级方法.89 生僻字的信息交换.99.1 机构内部系统间的信息交换.99.2 机构与外部系统的信息交换.1010 生僻字的存储及内部处理.1010.1 数据库存储.1010.2 文件存储.1110.3 系统内部处理.1111 内部培训和投诉处理.1112 生僻字处理方法的开源.12附录 A(资料性)引用方法和示例.13A.1 生僻字处理成熟度评估.13A.2 UCS 汉字编码概况.13A.3 GBK 52 个双码字.14A.4 人名用生僻字全字符集示例.15JR/T 02532022IIIA.5 常见编码和伪码格式比较.16A.6 常用字符集“实心点”字符的编码.17附录 B(资料性)生僻字问题改造实例.18B.1 实例 1中信银行全系统生僻字改造.18B.2 实例 2中国银联全渠道系统生僻字改造.19B.3 实例 3中国农业银行核心银行系统生僻字改造.19参考文献.21JR/T 02532022IV前言本文件按照GB/T 1.12020标准化工作导则第1部分:标准化文件的结构和起草规则的规定起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由中国人民银行科技司提出。本文件由全国金融标准化技术委员会(SAC/TC 180)归口。本文件起草单位:中国人民银行科技司、北京金融科技产业联盟、招商银行股份有限公司、中信银行股份有限公司、中国工商银行股份有限公司、中国农业银行股份有限公司、中国银行股份有限公司、中国建设银行股份有限公司、建信金融科技有限责任公司、中国人民银行营业管理部、中国人民银行济南分行、中国人民银行重庆营业管理部、中国人民银行杭州中心支行、中国人民银行广州分行、中国人民银行长沙中心支行、中国人民银行乌鲁木齐中心支行、交通银行股份有限公司、中国邮政储蓄银行股份有限公司、中国科学院软件研究所、中国金融电子化集团有限公司、成方金融科技有限公司、北京国家金融标准化研究院有限责任公司、中国银联股份有限公司、北京银联金卡科技有限公司、重庆国家金融科技认证中心有限责任公司、北京北大方正电子有限公司、北京郑码世纪信息技术有限公司。本文件主要起草人:李伟、杨富玉、聂丽琴、纪熙东、马良有、曲维民、冯蕾、刘子群、刘江涛、胡达川、李寻、李言平、徐晓剑、孙炎森、梁宇、柯尚锋、杨启龙、李学鹏、张立建、王丽静、王学群、郭贞、柏杨、邱程昱、江山、马懿、赵磊、马征、刘妍、韩婷婷、刘启滨、刘赐麟、杨志、孙坚、叶茜、张伟宁、胡沐创、谭旺、刘曼齐、戴雪龙、许健、张嘉威、谢谨、潘以桢、谢晋、张兰英、胡军锋、张兰英、朱礼华、刘汇丹、刘书元、孙建智、李家琪、陈达炜、谢彦丽、白璐、邱鹏、缪海波、王琪、于鸽、李博文、李远、史艳语、毕小文、秦逞、吴娟、张建国、张国荣、陈恳、郑珑、蓝飞。JR/T 02532022V引言随着经济社会数字化程度越来越高,以及实名制要求越来越严格,姓名中含有生僻字的客户在办理金融业务时,因输入、显示、打印、存储、交换等一个或多个环节中无法正常处理生僻字,可能造成的障碍包括以下内容。a)身份证鉴别仪读取客户证件信息失败,无法完成联网核查。b)服务人员知道客户姓名,但使用通用输入法找不到相应汉字。c)跨行转账户名一字多码,户名不能准确匹配,无法完成自动入账。d)信息交换时户名被当作非法字符或被转换成“?”,无法正确识别。e)与银行往来的第三方支付、社保、证券、保险等业务无法正常实名处理。本文件旨在针对上述情况,提供金融业处理生僻字的通用方法指南,提高金融业信息系统对生僻字的处理能力,提升金融业服务水平。本文件内容可能涉及信息系统关联的注册公司、产品名称或商标,仅作一般描述使用,无意侵权,更不表示推荐或不推荐相关产品。JR/T 025320221金融服务生僻字处理指南1范围本文件提供了金融业信息系统生僻字处理指南,包括生僻字处理总体原则与策略,生僻字的输入、显示、打印、信息交换、存储和内部处理方法,以及生僻字内部培训和投诉处理、生僻字处理方法开源的机制。本文件适用于为客户提供金融服务的机构及参与金融服务信息交换的机构。2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB 18030信息技术中文编码字符集GB/T 23121980信息交换用汉字编码字符集 基本集GB/T 13000信息技术通用多八位编码字符集(UCS)ISO/IEC 10646信息技术 通用编码字符集(UCS)(Information technology Universal CodedCharacter Set(UCS))ISO/IEC 8859-1信息技术8位单字节编码图形字符集第1部分:1号拉丁字母(Informationtechnology 8-bit single-byte coded graphic character sets Part 1:Lain alphabet No.1)3术语和定义下列术语和定义适用于本文件。3.1编码字符集coded character set一组无歧义的规则,用以建立一个字符集和该字符集中的字符及其编码表示之间的对应关系,通常也指按照这种规则确定的文字的有序集合。示例:1.GB 18030 是我国制订的以汉字为主并包含多种我国少数民族文字(例如藏、蒙古、傣、彝、朝鲜、维吾尔文等)的大型中文编码字符集标准,业界对该标准的全字符集的技术实现一般称作 GB18030 编码,该编码包含单字节字符、双字节字符、四字节字符,其中双字节字符编码的技术实现又称作 GBK 编码。2.EBCDIC 是大型主机的 8 比特单字节或双字节编码字符集。注:GB 18030(含空格)指信息技术中文编码字符集标准;GB18030(无空格)指具体字符编码。来源:ISO/IEC 8859-1:1998,4.5,有修改3.2编码字符集标识coded character set identifier标识大型主机当前字符使用的编码字符集(3.1)编号。JR/T 025320222示例:1.“1388”表示 GB 18030 中的强制部分用 EBCDIC 编码实现的字符集。2.“1392”表示GB 18030中的强制部分的字符集。3.3字库font library建立在计算机存储媒体上的字形数据集合。注:1.字库在存储方式上一般分硬字库、软字库。硬字库指预烧录在只读存储器等介质中且不能再更改的字库,软字库指以文件形式存储在光盘或者硬盘上的字库。2.字库一般以ttf、otf、ttc等字体格式文件的形式存在。ttf指True Type Font字体文件,otf指Open Type Font字体文件,ttc指True Type Collection字体文件。3.4人口信息字库font library of population information户籍管理部门针对人口信息(人名、地名等)数据数字化而定制的字库(3.3),采用GB/T 13000编码。3.5用户自定义区private use area;PUA未在通用编码字符集中指定,由私有规则决定字符用途的一系列码点,使用三个编码区块:U+E000U+F8FF、U+F0000U+FFFFD、U+100000U+10FFFD。注:1.一般指人口信息字库中使用的PUA编码,在人口信息字库中,户籍管理部门对未收录进GB/T 13000但实际使用的生僻汉字利用PUA编码予以补充,人口信息字库通过转换对照表提供编码转换解决方案。2.人口信息字库中部分PUA编码字符陆续被通用编码字符集收录而拥有正式编码,会导致一个字符同时存在正式编码和PUA编码,造成一字多码的情况。来源:GB 18030,3.3,有修改 3.6生僻字rarely used Chinese charactersGB/T 13000编码区间(U+4E00U+9FA5,20,902字)之外的汉字。注:1993年发布的GB 13000收录了U+4E00U+9FA5共20,902个汉字,1995年发布的汉字内码扩展规范(以下简称GBK)含21,003个汉字(增加了101个汉字及偏旁部首,包括“”“”“”等52个汉字),现已被GB 18030代替;由于GBK字符集内的20,902个汉字已能被国内外绝大部分技术产品和国内的应用系统所支持,而其他的汉字往往会遇到问题,故一般认为在20,902个汉字之外的汉字为生僻字。3.7通用编码字符集universal coded character set国际通用的多八位编码字符集。注:1.通用编码字符集(UCS)标准由国际标准化组织(ISO)与国际电工委员会(IEC)制订,编号为ISO/IEC 10646,最新版本为ISO/IEC 10646:2020。我国现行GB/T 130002010采标自ISO/IEC 10646:2003。2.统一码(Unicode)是由统一码联盟依据UCS制定的可以容纳世界上所有文字和符号的编码字符集,UnicodeJR/T 025320223比UCS额外定义了与字符有关的语义符号学内容。3.UCS将中国、日本、韩国等国使用的汉字通称为中日韩统一表意文字(CJK)。4.CJK按编码区块分为基本集(URO)、扩充AG、兼容区,急用汉字会在各编码区块末尾增补(见附录A.2)。5.UCS在技术实现上,使用UTF-8、UTF-16、UTF-32三种编码方式对字符进行编码。UTF-8是一种以一个或多个8位为单元的编码方式;UTF-16是一种以一个或两个16位为单元的编码方式;UTF-32是一种以一个32位为单元的编码方式。16位以2字节表示,32位以四字节表示。对于多个字节的排列顺序,如果第一个字节是整数二进制中的最高位字节,最后一个字节是整数二进制中的最低位字节,则该字节序称为“大端”(Big Endian,BE);如果第一个字节是整数二进制中的最低位字节,最后一个字节是整数二进制中的最高位字节,则该字节序称为“小端”(Little Endian,LE)。UTF-16分UTF-16BE和UTF-16LE两种方式,UTF-32分UTF-32BE和UTF-32LE两种方式。6.本文件以U+XXXX或U+XXXXX表示UCS的一个码点或字符,如U+0000U+FFFF称为基本多文种平面(BMP),U+20000U+2FFFF称为辅助表意文字平面。4缩略语下列缩略语适用于本文件。APP:移动应用程序(Mobile Application)ASCII:美国信息交换标准代码(American Standard Code for Information Interchange)ATM:自动柜员机(Automatic Teller Machine)BOM:字节顺序标记(Byte Order Mark)CCSID:编码字符集标识(Coded Character Set Identifier)CJK:中日韩统一表意文字(China,Japan and Korea unified ideographs)CTID:网络电子身份证(Cyber Trusted ID)EBCDIC:扩展二进制编码十进制交换码(Extended Binary Coded Decimal Interchange Code)FTP:文件传输协议(File Transfer Protocol)GDI:图形设备接口(Graphics Device Interface)HTML5:超文本标记语言第5版(HyperText Markup Language 5)JDK:Java语言开发工具(Java Development Kit)MFC:微软基础类库(Microsoft Foundation Classes)OCR:光学字符识别(Optical Character Recognition)PC:个人电脑(Personal Computer)PUA:用户自定义区(Private Use Area)SDK:软件开发工具(Software Development Kit)UCS:通用编码字符集(Universal Coded character Set)XML:可扩展标记语言(Extensible Markup Language)5总体原则与策略5.1总体原则提供金融服务的机构在处理生僻字时,宜遵守以下原则。a)遵循标准。以 GB 18030、GB/T 13000 为基础,便于客户和服务人员识读、辨别生僻字,便于信息系统持续优化。JR/T 025320224b)易于扩展。使用可扩展和安全可控的技术框架和方案,便于提升系统服务效率和客户体验。c)经济适用。以满足客户实际需要为基础,配置实用的字库、输入法、接口设备等。d)兼容处理。当在用的 PUA 字符正式编码发布后及时使用正式编码。在核验环节,兼容处理一字多码的互相认同,同时向客户详细说明一字多码情况。注:部分居民身份证件姓名数据包含的字符分布在UCS的CJK扩充AG范围内,部分超出现行GB 180302005强制要求的字符集范围。5.2信息系统处理汉字的通用架构信息系统处理汉字的通用架构见图 1,包括客户与柜台、客户与前置中台、柜台与前置中台、前置中台与后台系统、后台系统与外联系统、外联系统与其他机构等交互环节。在客户与柜台、客户与前置中台交互环节,输入、显示、打印处理涉及生僻字。在柜台与前置中台交互环节,流程、交换处理涉及生僻字。在前置中台与后台系统、后台系统与外联系统交互环节,开放、主机系统处理涉及生僻字。在外联系统与其他机构交互环节,流程、交换处理涉及生僻字。图 1信息系统处理汉字的通用架构图信息系统通常需要在 GBK、GB18030、EBCDIC、UTF-8、UTF-16 等编码间转换处理汉字,因不同类型编码所支持的字符集不同,GBK、EBCDIC 不支持的汉字需实现无损透传处理。Unicode 字符编码详见附录 A.2。5.3生僻字处理分级本文件将生僻字处理分为以下三个级别。a)基础级:CJK 基本集和扩充 A,其中包含 52 个 GBK 双码字。通用规范汉字表全部汉字(含补字区、CJK 扩充 BE 共 199 个字)。人口信息字库 PUA 编码部分对应的正式编码汉字(含 CJK 扩充 BG)。b)实用级(包含基础级,增加实际在用汉字):CJK 扩充 BG 中已知的人名、地名在用汉字。人口信息字库 PUA 编码部分,虽有正式编码但仍在用 PUA 编码的汉字。人口信息字库 PUA 编码部分,没有正式编码只能使用 PUA 编码的汉字。c)完整级:UCS 收录的全部 CJK 汉字,包含实用级。5.4生僻字处理策略生僻字的显示和打印宜通过操作系统支持完整级汉字,生僻字的输入宜支持实用级汉字。6生僻字的输入JR/T 0253202256.1输入法6.1.1输入法字符范围提供金融服务的机构宜选择实用级或完整级的汉字输入法,至少支持基础级的汉字输入法。6.1.2输入法编码适用于生僻字输入的输入法宜采用以下方法。a)使用拼音、笔画、字形等方法对汉字字符进行编码。b)综合使用部件拆分、拆字拼音、笔画等多种方法对汉字字符进行编码。c)按照汉字的字频、所处编码区块及其他属性对候选汉字进行排序。d)对候选的 PUA 编码字、繁体字、异体字等给出标识,进一步提示其对应的正式编码字、简体字、规范字。注:生僻字读音通常难以识别,完整级汉字如使用拼音输入,因同音候选字最多可达3,000多个,造成查找和选字困难。6.1.3输入法实现形式提供金融服务的机构选用的输入法,可使用如下形式实现。a)常规输入法软件。通过外接键盘或软键盘输入字符的输入法软件,可配置在操作系统的输入法候选列表中并可切换选择。b)第三方软件。使用带有字符输入功能的第三方软件,用户通过软件界面操作以笔画、部件拆字等方式查询到候选字,使用拷贝或其他方式粘贴到信息系统的录入框中。c)内嵌输入法。在信息系统中自行实现的输入法。d)云输入法。信息系统集成云输入客户端,用户在云输入客户端录入输入码,云输入客户端根据输入码从云输入服务器端查询到候选字,由用户选择录入信息系统的录入框中。6.1.4少数民族姓名间隔符的输入少数民族姓名间隔符须按照 关于在政府管理和社会公共服务信息系统中统一姓名采集应用规范的通知(民委发201633号文)要求的格式输入,统一用“”(UCS编码U+00B7,GB18030编码A1A4)。考虑到常用字符集中“实心点”字符有多个,宜在用户输入的前端检测少数民族姓名间隔符为非U+00B7的“实心点”时,自动转换成U+00B7。注:有些文字处理软件中U+00B7复制到其他应用有可能变成U+2022。6.1.5括号的输入企业名称等信息中括号的输入宜兼容处理全角和半角。6.2机读设备输入提供金融服务的机构选用的身份证件识读设备,宜使用GB18030编码、UTF-8编码、UTF-16编码的解码驱动程序进行识读,不宜使用GBK编码的解码驱动程序。外国人永久居留证件识读设备、CTID的二维码读取器等,宜达到同等要求。6.3其他方法输入提供金融服务的机构使用OCR、语音识别、手写识别等方法识别汉字时,宜以人工核对、修正后的结果为准。JR/T 025320226注:由于识别引擎使用的字符集通常未收录全部汉字,同音字或形近字较多,准确率难以达到100%。6.4信息系统输入配备6.4.1PC 输入配备PC的输入配备宜实现以下要求。a)按照 6.1 配备输入法。b)对于有 PUA 编码标识但所用编码与人口信息字库 PUA 编码不同的输入法,宜关闭录入 PUA 编码汉字的功能。c)不宜使用含有 PUA 编码汉字录入功能但没有 PUA 编码标识的输入法。d)若配备身份证件识读设备,宜参考 6.2。e)若使用 OCR、语音识别、手写识别技术,宜参考 6.3。f)信息系统宜对姓名、地址等栏位输入的字符做检测。字符集限制宜以最新 UCS 汉字编码范围为准,不宜使用 U+4E00U+9FA5 的范围来控制只输入 GBK 汉字。若输入的字符包含“?”,宜记录日志,并提示服务人员和客户可能存在客户姓名不匹配的情况,相关业务宜转为人工处理;对于身份证件识读设备读取的汉字为 PUA 编码但已有 UCS 编码,若在公安系统身份实名核查失败,宜向客户详细说明一字多码情况。g)面向客户的网页(Web)应用中,宜在需要录入姓名、地址的页面内嵌云输入法。h)若信息系统无法显示所输入生僻字的字形,不宜用拼音代替,宜使用 UCS 编码代替,以保证汉字编码的唯一性。6.4.2APP 输入配备APP宜提供内嵌输入法、云输入法以支持生僻字的输入。a)对于使用 HTML5 页面实现的 APP,宜提供内嵌云输入法。b)对于其他 APP,宜提供内嵌本地输入法或云输入法。APP 宜对姓名、地址等栏位输入字符做检测,并参考 6.4.1 中 f)给出相应提示。6.4.3ATM、智能终端等自助设备输入配备ATM、智能终端等自助设备的输入宜实现以下要求。a)若通过实体键盘或软键盘录入,宜按照 6.1 选择输入法。b)若配备身份证件识读设备,宜按照 6.2 选择相关设备。c)若配备 OCR、语音识别、手写识别输入设备,宜参考 6.3。d)信息系统宜对姓名、地址等栏位输入字符做检测,并参考 6.4.1 中 f)给出相应提示。7生僻字的显示7.1字库7.1.1字符范围字符范围宜覆盖基础级和实用级汉字,鼓励提供金融服务的机构覆盖完整级汉字。7.1.2字形PUA编码字与正式编码字的字形宜作出明显区分,或在字形外以其他标记区分。JR/T 025320227生僻字的字形品质宜提高到精品出版印刷用字库的水平,即字形美观、结构端正、重心平稳、大小一致、黑白均匀。7.1.3字形描述技术针式打印机配置的硬字库使用点阵字形技术。其他情况使用曲线轮廓字形技术,一般使用ttf格式或otf格式。7.1.4兼容性宜兼容提供金融服务的机构使用的所有操作系统。单个ttf文件或otf文件因受65,536个字形限制,宜用实用级字库以便能跨平台兼容处理。7.1.5实现形式字库可以有以下3种实现形式。a)本地字库。安装在操作系统上,所有应用均可使用的字库。b)应用嵌入字库。随 APP 安装,并仅限于 APP 内使用的字库。c)云字库。存放在服务器端,在客户端需要时才下载到客户端的字库。7.2信息系统字库的配备7.2.1PC 字库的配备PC本地字库配备宜符合7.1要求。信息系统和显示生僻字的控件宜支持UCS编码。支持生僻字显示的方法如下。a)通过辅助软件对操作系统字形显示逻辑进行配置,从操作系统层面解决生僻字显示问题,以便信息系统在用缺省字体(如宋体)的情况下能够显示生僻字。b)通过使用控件绑定生僻字字库的方式,实现生僻字显示。在遇到字库缺字时宜以可识读的标准UCS编码方式显示其字形,占一个汉字宽度位置。以“张韦华(U+2E9F5)三”为例,缺字时以UCS编码显示字形见图2。图 2缺字时以 UCS 编码显示字形7.2.2APP 字库的配备APP宜通过应用嵌入字库或云字库的方式实现对生僻字的显示。APP内部显示人口信息生僻字的控件宜绑定生僻字字库。7.2.3ATM、智能终端等自助设备字库的配备ATM、智能终端等自助设备宜预装本地字库。自助设备中基于Web技术实现的应用也可利用云字库技术实现对生僻字的显示。8生僻字的打印8.1柜台 PC 通用打印机JR/T 025320228柜台PC通用打印机包括针式打印机、激光打印机和喷墨打印机等,不同类型打印机在处理生僻字时,可使用以下三种方法,见表1。表1打印机生僻字处理方法实现方案实现方式适用范围优点缺点文本图形混合方案a)在硬字库支持范围内,用文本打印模式。b)在硬字库支持范围外,由应用端程序转换成图片后再打印。带有硬字库的针式打印机,如存折打印机、宽行打印机等。a)免硬件升级。b)打印速度快。信息系统改造复杂。纯图形方案依赖操作系统的图形输出,打印机按照图形输出进行打印。日常办公类的非针式打印机,如激光打印机、喷墨打印机等。a)字库依赖操作系统,与打印机硬字库无关。b)信息系统改造方案简单,依赖打印机驱动即可。对于传统串口、并口打印机速度较慢。纯文本方案升级存折打印机字库,字库支持完整级汉字。带硬字库的针式打印机,如存折打印机、宽行打印机等。打印速度快。需升级硬字库,后续升级困难。旧有的串口、并口打印机宜逐步更新为USB接口或本地网络接口的打印机。每个服务网点宜至少配备一台支持实用级或完整级汉字集合的打印机。8.2报表高速打印机使用文本方式打印的报表高速打印机,宜由厂家升级字库以支持实用级或完整级汉字。8.3打印机字库升级方法8.3.1硬字库硬字库宜以可改写存储介质形式存储,方便及时更新。硬字库存储空间测算:通用打印一般使用 2424 点阵字库,单个汉字字形数据占 72 字节(B),以 50,000 个汉字为例,需要 50,00072B=3,600,000B3.5MB。注:此方式有一定的硬件成本,扩展升级工作量较大,但打印速度较软字库更快。8.3.2软硬字库混合需要结合打印机硬字库汉字范围,使用混合指令来支持,对不同厂商打印机图形指令集支持,在开发上有一定的复杂度和工作量。生成汉字图形方法如下。a)判断待打印文本中是否含有生僻字,若有则转图形模式打印,否则用字符模式打印。b)设置图片要素,为确保图片打印效果尽量接近字符打印效果,生成图片需要做特殊处理,用不同的字体或拉伸图片解决:默认宋体字体,支持的汉字范围更广;倍高拉伸,先生成正常字体,然后拉伸高度至原来的 2 倍,再合并图片;倍宽拉伸,先生成正常字体,然后拉伸宽度至原来的 2 倍,再合并图片。c)生成图片,可使用系统函数或方法调用生成图片。JR/T 0253202298.3.3软字库如果打印机能支持图形打印,只要在操作系统下安装字库,即可选择其中任意字符进行打印。示例:基于 GDI 等绘图引擎,将仿真指令打印方式转换为基于绘图引擎的图形打印,在绘图时使用支持生僻字的字库绘制出图形,再转换为点阵数据并使用系统驱动打印出凭证内容。该方式生成的打印点阵图较大,发送给打印机数据较大,对打印速度有一定影响,但有利于扩展字库,只要操作系统进行了字库扩展,就能够支持新的生僻字。9生僻字的信息交换9.1机构内部系统间的信息交换9.1.1概述宜支持GB 18030或GB/T 13000(一般用UTF-8编码)的汉字无损透传处理。在交换之前,请求方宜采用生僻字的正式标准汉字编码进行归一化处理。如果原内部系统间接口为GBK或EBCDIC等小字符集的编码,且改造成本过大,可以保留,此时生僻字宜改用伪码表示和交换。转接系统在转接时,如果输入、输出双方编码不同,需要做编码转换时,宜注意下述情况。a)不发生丢弃某些字符或转成替代符“?”的有损转换。b)不发生报文丢弃的情况。9.1.2报文提供金融服务的机构内部系统间交换的报文常见格式和注意事项见表 2。表2提供金融服务的机构内部系统间交换报文常见格式和注意事项报文格式注意事项字段定长无分隔符生僻字改用伪码表示和交换时,1 个四字节的 GB18030 编码汉字用伪码可能需要占用更多存储空间,如果原先字段定义长度不够,则需考虑超长问题。变长字段有分隔符分隔符不宜与伪码的特殊符号相同,且不宜与汉字编码的一部分相同。如果字段分隔符是“|”,则与某些汉字编码的一部分冲突,如“弢”字的 GBK 编码第 2 字节是 16 进制的 0 x7C,与常用竖线分隔符“|”的编码一样。XML需注意头部的 encoding 编码设置须与内容采用的编码一致,以免 XML 解析器解码错误,如用UTF-8 编码或 GB18030 编码,头部宜改为:或。JSON(一种数据格式)JSON使用UTF-8编码,不支持GB18030编码。可使用转义方式表示特殊字符,包括回车(u000D)、换行(u000A)等不可见字符,BMP 之外的辅助平面字符采用代理对转义字符串表示,如 U+20164(亩心)字表示为uD840uDD64(参见 RFC 8259:The JavaScript Object Notation(JSON)Data Interchange Format),所以,BMP 外生僻字若不用伪码表示时,宜使用前述转义字符串方式表示,不宜用 UTF-8 的四字节表示,以免某些 JSON 解析器解析错误。9.1.3文件文件内容的格式及注意事项见9.1.1。JR/T 0253202210对于UTF-8、UTF-16、UTF-32编码的文件,宜检测文件开头是否存在BOM标记,若存在,通过BOM标记可识别文件的编码方式。BOM标记与编码方式的对应关系如下。a)在 UTF-16LE 中 BOM 为 0 xFF FE,UTF-16BE 中 BOM 为 0 xFE FF。b)在 UTF-32LE 中 BOM 为 0 xFF FE 00 00,UTF-32BE 中 BOM 为 0 x00 00 FE FF。c)在 UTF-8 带 BOM 的版本中,BOM 为 0 xEF BB BF。注:在某些操作系统自带记事本编辑保存时,会在文件开头自动加上BOM标记,应用程序若不支持带BOM的文件,文件编辑时往往会报错。9.1.4信息交换转码信息系统间使用不同编码字符集进行数据交换时,需要进行无损透明转码,可借助于中间件(如FTP)或自行编写程序进行转码。以FTP方式交换文件不需要转码时,可设定为二进制流方式;如需转码时,宜设定相应的编码集,以保证无损透传。9.2机构与外部系统的信息交换使用GBK编码的报文及文件交换宜升级为UTF-8或GB18030编码。底层交换可用ISO8859-1编码。在原有接口、系统无法升级的情况下,宜与外部系统协商,使用伪码处理生僻字,应避免生僻字丢弃或转为无意义的替代字符(如问号、空格等)。当外部系统无法正常显示或打印生僻字时,宜在打印凭证的对应位置手写相应汉字。使用邮件系统交换信息时,Base64变换前的编码不宜使用GBK或GB2312(如“=?GBK?B?”或“=?GB2312?B?”),宜使用UTF-8(即“=?utf-8?B?”开头)。注:业界对ISO/IEC 8859-1的技术实现一般称作ISO8859-1编码。10生僻字的存储及内部处理10.1数据库存储10.1.1概述数据库存储宜使用 UTF-8 编码,其次使用 GB18030 编码。如使用 GBK 编码,在不改变数据库字符集设置的情况下,对超出 GBK 范围的生僻字,宜在系统层面用伪码编码后,再写入数据库。从数据库读出数据时,宜将伪码还原成汉字。伪码宜使用易于还原、占用空间小的 UCS 编码,伪码格式参考附录 A.5。伪码仅限在数据库内部使用,外部访问宜还原为接口标准编码,以保证透传、通用。少数民族姓名的间隔符宜按 6.1.4 的规范形式存储,不规范的旧数据宜定期迁移。注:下文所列 MySQL、DB2、Oracle 均指数据库产品名称。10.1.2MySQL 数据库使用 MySQL 数据库时宜采用 5.5.3 以上版本,并将 UTF-8 的编码类型设置为 utf8mb4。注:utf8mb4 编码是 utf8mb3 编码的超集,兼容 utf8mb3 并且能够存储四字节 UTF-8 的字符。10.1.3DB2 数据库在大型主机系统中,CJK 扩充 B 及以上扩充区、急用加字区的汉字宜用伪码处理。开放平台 DB2 数据库宜升级支持 UTF-8 或 GB18030 编码。JR/T 0253202211注:目前大型主机系统使用 CCSID 1388 编码,汉字使用双字节表示,支持至 CJK 扩充 A 字符集。10.1.4Oracle 数据库Oracle数据库宜将字符集值设置成AL32UTF8。注:目前Oracle数据库字符集默认值为ZHS16GBK,仅支持GBK字符集。10.1.5其他数据库其他数据库宜使用UTF-8、GB18030或ISO 8859-1等支持全字符集的编码。10.2文件存储文件存储宜采用UTF-8或GB18030编码。10.3系统内部处理10.3.1编程语言对生僻字的处理常用编程语言宜对生僻字特殊情况做以下处理。a)在使用JAVA(一种面向对象的计算机编程语言)编程时,宜使用JDK1.5及以上版本。当字符串包 含 BMP 外 字 符 时,不 宜 使 用“str.length()”方 法 计 算 字 符 个 数,宜 使 用“str.getBytes().length”方法,依据输入的GBK、GB18030、UTF-32等编码参数返回字节数进行判断。b)使用VC+(一种计算机编程语言开发平台)MFC编写的应用程序,宜在“_Unicode”模式下编译,不宜在“_MBCS”模式下编译。10.3.2联网核查居民身份信息对于“一字多码”的生僻字进行联网核查公民身份姓名信息时宜做兼容处理。对于“一字多码”的生僻字,当有正式编码存在时,宜向客户详细说明一字多码情况。对于联网核查未通过情况,必须按照关于切实做好联网核查公民身份信息有关工作的通知(银发2007345 号文)要求采取其他方式进一步核实身份。注:1.“一字多码”的生僻字存在二代居民身份证芯片与人口信息数据库的生僻字编码不一致的问题。2.部分“一字三码”的生僻字如表 3 所示,可能需要核查 3 次才能成功。表3“一字三码”生僻字示例表生僻字,拆字PUA 码 1PUA 码 2UCS 正式编码,钅从U+E3FEU+E579U+2B4E9(扩充 C),扌为U+E05DU+F429U+39D1(扩充 A)?,棥心U+E56BU+EAF0U+2285F(扩充 B)10.3.3业务处理中的姓名比对对于“一字多码”的生僻字,系统宜支持一字多码互相认同的智能比较。对于系统不支持处理生僻字的情况下,宜转人工处理,需要时可联系客户核实处理。11内部培训和投诉处理JR/T 0253202212提供金融服务的机构及参与金融服务信息交换的机构宜建立处理生僻字的培训、业务操作、客服投诉等管理机制,配备专门的生僻字处理人员,设立沟通交流小组开展经验分享,提升服务人员、技术支持人员对生僻字的认知和处理水平。可采取以下措施。a)在机构内部建立生僻字专业知识库,定期收集、分析生僻字客户的投诉以及处理过程,开展内部分享和交流。b)开展培训,使服务人员了解汉字信息处理标准、编码知识及生僻字输入、查询工具使用方法等知识。12生僻字处理方法的开源提供金融服务的机构及参与金融服务信息交互的机构可参考金融业生僻字开源项目或其他方式完成系统改造。提供金融服务的机构及参与金融服务信息交互的机构宜积极参与金融业生僻字开源项目,分享生僻字处理相关的代码和方案。提供金融服务的机构及参与金融服务信息交互的机构开展开源项目活动时应遵循开源社区的规章制度。鼓励字库厂商、输入法厂商及其他机构共同参与开源社区建设。注:金融业生僻字开源项目官方网站是金融业生僻字信息平台,访问地址为“”。JR/T 0253202213AA附录A(资料性)引用方法和示例A.1生僻字处理成熟度评估提供金融服务的机构及参与金融服务信息交换的机构的生僻字处理成熟度宜按以下几个维度进行评估,见表 A.1。表A.1生僻字处理成熟度评估表领域子领域评估办法系统字符集支持显示输入打印存储字集评分示例(分)GBK2GB 1803020053+通用规范汉字表3.5+人口信息字库4+UCS 全字集5“一字多码”兼容处理存储结果能对“一字多码”兼容处理联网核查人员认知和服务培训机制柜员、客户服务指导客户正确用字疑难处理及知识共享培训课件、服务手册包含相关内容客户教育网站指引工具提供定向宣传能通过系统或人工方式获取相关信息及工具行业知识贡献共享知识能反馈生僻字案例、参与同业交流标准定制参与行业、团体、企业标准制修订工具提供能提供或应用生僻字处理开源工具A.2 UCS 汉字编码概况在本文件编写时,已使用 UCS 汉字编码范围,可用于字库等编码限制参考,见表 A.2。表A.2已用UCS汉字编码表字符集(含其他区域)编码范围字数(个)版本备注对应国内标准CJK UROU+4E00U+9FA520,9021.01993 年发布。GBK(21,003 字)CJK Ext AU+3400U+4DB56,5823.01999 年发布。2000 年版本 GB 18030CJK Ext BU+20000U+2A6D642,7113.12001 年 3 月 1 日发布。2005 年版本 GB 18030JR/T 0253202214表A.2已用UCS汉字编码表(续)字符集(含其他区域)编码范围字数(个)版本备注对应国内标准CJK Ext CU+2A700U+2B7344,1495.22009 年 10 月 1 日发布。-CJK Ext DU+2B740U+2B81D2