基于ASP.NET的蒙古文网站建立及若干问题分析
摘要随着全球数字化、网络化发展进程的加快,国家相关部门及时采取了保护、开发、利用民族语言资源的措施,因此蒙古文网络资源也日益丰富起来。但由于蒙古文编码及浏览方式的独特性,在开发的过程中会遇到不少难题,本文以ASP.NET技术为基础,总结了在开发的过程中遇到的各种问题并提供了相应的解决方案。
【关键词】蒙古文网站 ASP.NET 蒙古文网页显示
1 怎么实现系统没有相应字体一样能显示网页内容
1.1 问题分析
如果浏览设备没有相应字体,那么在浏览的过程中字体就会显示为乱码,如何解决这个问题呢?终端用户可以安装该网站对应的字库,大多是采用下载ActiveX控件来实现,但这样防火墙会预警,在一定程度上影响用户体验。本文经研究在网页中内嵌压缩字库是一种有效办法,但不同的浏览器需要不同的字体文件(如图一),也就是说,在服务器端必须有2-3个不同格式的字体文件用来应付各个浏览器,如图1。
1.2 相应代码及解决方案
通过字体格式转换工具如 "Microsoft WEFT",将.ttf格式字体转化为.eof格式,放到服务器端,并将图二的css样式加到所需的页面,在需要引用蒙古的地方加入css样式 font-family:’monbaiti’.经实验,将代码放到新浪云端,通过手机设备进行访问,可以成功显示蒙古文,如图2。
2 怎么实现网页蒙文从左到右竖排方式正常显示
2.1 问题分析
本文经研究目前人类常用的书写形式和显示款式有以下几种,如图3。
解决蒙古文“从上向下”书写、“从左至右”显示的问题可以通过把文字制成图片的形式嵌入到网页中,但是对于动态网页要实时更新数据显然就不合适了,第二种方法就是通过css样式进行控制。
2.2 相应代码及解决方案
css加writing-mode:tb-lr;此css样式可以实现蒙文“从上向下、从左到右”显示的特点,但目前为止只有IE浏览器能支持writing-mode样式。由于IE是windows系统的自带浏览器,可以在加载页面的时候,通过javascript代码判断一下用户的浏览器型号,如果用户用的不是IE浏览器,那么就跳转到一个显示“请使用IE浏览器”的网页,然后用户再用IE打开,如今很多知名内蒙古文网站都是用的这种方法实现的,如天堂草原音乐网(http://mongol.ttcy.com/)。
3 怎么样实现蒙古文同数据库的交互
3.1 问题分析
本文在.NET 4.5和SQL SERVER 2012下测试,在页面控件上加上writing-mode样式,可以实现从数据库中读取蒙古文并按照“从上向下、从左到右”显示,但是进行增加和更新的时候,通过传统的SqlCommand对象和Insert、
Update sql语句对数据库数据进行更新时,存到数据库中的蒙文却变成“?”。
但是将Command 对象、DataAdapter 对象、DataSet 对象、DataTable 对象和DataRow 对象结合起来实现数据的添加却能正确识别蒙古文Unicode 字符。
3.2 相应代码及解决方案
首先将整个表对象读入到DataTable对象中,通过判断strId是否为空来确定具体操作,如果是空,增加一条新DataRow,并赋值来完成添加操作,如果非空,
通过其值遍历DataTable找到里面确定的DataRow并改变相应数据,最后通过SqlCommandBuilder对象来完成更新操作。示例代码如图4。
4 总结
当然蒙古文网站建设中的难题不仅仅是本文中提到的这几点, 今后我们还会做更进一步的研究, 以求得不断完善.
参考文献
[1] 包艳花.关于蒙古文网站建设现状及发展趋势的若干思考[J].呼伦贝尔学院学报, 1009-4601(2009)04-0016-03.
[2]图雅.夜新铭.动态蒙古文网站建设中的若干问题研究[J].内蒙古大学学报,2007,9(38):5.
作者单位
大连理工大学软件学院辽宁省大连市116001