应用程序开发中的乱码问题第19卷第4期Vol.19No.4北京印刷学院学报JournalofBeijingInstituteofGraphicCommunication2022年8月Aug.2022收稿日期:2022?05?06应用程序开发中的乱码问题程晓锦,徐秀花(北京印刷学院计算机科学系,北京102600)摘要:在应用程序开发过程中,经常会出现汉字乱码现象三通过对符号的常用编码进行讨论,指出在应用程序中产生乱码的原因,对应用Java语言的系统,何时容易产生乱码二如何避免乱码,尤其是对于访问Mysql数据库及应用JSF编写动态网页时如何避免乱码,同时,给出应用JavaServerFaces(JSF)开发动态网页时如何避免乱码的解决方案三关键词:Java;编码;JavaServerFaces中图分类号:TP393.08文献标识码:A文章编号:1014?8626(2022)04?0060?03OnGarbledSolutioninProgrammingDevelopmentCHENGXiao?jin,XUXiu?hua(BeijingInstituteofGraphicCommunication,Beijing102600,China)Abstract:Thedevelopmentprocessintheapplicationmanoftenappearsgarbledphenomenon.Thispaperdiscussesencodingsofcommonsymbolsandpointoutthereasonsthatgarbledintheapplicationprogram,particularlyontheapplicationofJavalanguagesystem,discussesinmoredetailwhenpronetodistortion,howtoavoidgarbled,andespeciallyforaccesstoMysqldatabaseanddynamicwebapplicationswrittenJSFhowtoavoidthegarbled.ApplicationsaregivenJavaServerFaces(JSF)developmentofdynamicwebpagesonhowtoavoidgarbledsolution.Keywords:Java;encoding;JavaServerFaces在应用程序开发过程中,特别是开发动态网或访问数据库,经常会出现汉字乱码的现象三所谓乱码”,其本质是软件系统缺乏对某种字符编码的支持而产生的不能正常阅读的混乱字符三如今,计算机系统可以处理多种不同的文字,而不同的文字使用不同的字符编码(如处理汉字经常使用的编码有GB2312二Big5)三随着处理的字符的大量增加,字符的编码长度亦由单字节到多字节不等,不同的系统(如C/C++语言系统)将一个字符处理成一个八位的字节,不同的系统(如Java语言系统)将一个字符处理成16位的双字节,这样,在字符处理及转换时会出现理解错误而出现乱码[1?4]三1字符的常见编码1.1ASCII编码ASCII码是美国信息交换标准编码”的英文字头缩写,可称之为美标”三ASCII码规定其前32个为控制符号编码,其后是一个空格编码,94个可打印字符编码及最后一个删除字符编码,共128个符号编码三可打印字符中包括英文大小写字母,阿拉伯数字,标点符号等三它是一个7位字符集,但在计算机处理中以8位存储,规定最高位为0三因此,一个字符的编码其最高位为0,则称该字符为一个ASCII字符三1.2ISO8859?1编码由于ASCII码仅有94个打印符号,不能处理拉丁符号二希腊符号以及常用的数学符号等,为了能够处理更多的常用符号而将ASCII进行扩展,ISO8859?1就是一种扩展的ASCII码符号三ISO8859?1编码方案正式编号为ISO/IEC8859?1:11018,又称Latin?1或西欧语言”,是国际标准化组织内ISO/IEC8859的第一个8位字符集三它以ASCII为基础,在空置的0xA0?0xFF的范围内,加入96个字母及符号,以供使用附加符号的拉丁字母语言使用三1.3GB码及GBK码GB码全称是GB2312?80,11010年发布的‘信息交换用汉字编码字符集基本集“是中文信息处理的国家标准,在中国内地及海外使用简体中文的地区(如新加坡等)是强制使用的唯一中文编码三GB码共收录6763个简体汉字二682个符号,其中汉字部分一级字3755个,以拼音排序;二级字3008个,以偏旁排序三GB2312?80将其所处理的图形符号编排在一个94×94的矩阵中,一个图形本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!