zoukankan      html  css  js  c++  java
  • 解决Inno Setup制作中文安装包在非中文系统上显示乱码的问题

    尼玛,好几个月没更新了。囧...

    目前我司新的客户端开发已经接近尾声,该改的bug已经改完,该重构的地方也都差不多了。视觉效果也已经根据美工的样式改完了。所以,就差制作安装包了。正所谓万事俱备,只欠东风。

    首先,当然是选用了InstallShield Limited Edition来制作安装包了。这个工具说简单,是真的简单。全部都是图形化的,并且可以和VS很好结合。如何使用的细节,这里就不表了。网上一搜一大堆。InstallShield LE版最大的问题是开放的功能实在太少了,我想在安装包中打一个字体,发现必须得升级到Pro版才行。升级的问题倒是不大,但是也太贵了吧,2500+美刀。。。最主要的是脚本控制没有开放出来,想想还是算了。所谓有钱任性,没钱认命。拜拜~~

    那接下来能选的就是Inno Setup了吧。怎么制作Inno Setup安装包,我觉得我也没必要在这里表了。一搜一大堆啊,大家都是码农,各个智商高,没必要了哦。看看Help文档,分分钟钟搞定啊。

    这里主要说一说如何设置Inno Setup的中文安装向导界面。

    首先,你要下载支持Unicode版本的Inno Setup(比方说isetup-5.5.5-unicode)。这里给个链接,方便下大伙:http://www.jrsoftware.org/download.php/is-unicode.exe。之所以要提到Inno的中文安装向导问题,主要是因为中文语言包,Inno没有提供官方版本,所以你得自己搞。自己搞呢,其实也蛮简单的,把安装目录下的Default.isl中各个项的英文翻译成中文,然后保存的Languages目录下即可。有一个细节除外,那就是[LangOptions]段。当你要支持多语言安装显示的时候会用到。其中LanguageName要使用Unicode字符来表示。比方说你希望语言选择那一步显示简体中文,那么需要这么做LanguageName=<7b80><4f53><4e2d><6587>。

    接下来,我假定你自己已经把所有相关的英语都翻译成中文了,那么你自己就可以制作一个中文向导的安装包了。通常情况下,我们希望安装包起码国际化做的好一点。不管是神马语言的Windows系统,安装包在启动后界面上的中文字符不应该显示成乱码吧?

    很不幸,很多时候我发现应用程序安装包在我这里总能出现各种问题。因为我向来使用英文系统。

    为了解决一些安装程序乱码的问题,我必须得设置下区域中关于Language for non-Unicode programs,如下所示:

    将Current language for non-Unicode programs设置成Chinese Simplified(这里为了测试Inno Setup,我已经将其设置为English了)。

    OK,说到这里,你自己试试看在英文系统上(或者其他非中文系统里)设置成上面图片的显示的样子,将Current language for non-Unicode programs设成English,你的Inno Setup安装包启动后,是否是乱码呢?

    如果是乱码,那么恭喜你,因为,还好,这个问题是口以很好解决滴。

    其实解决的办法很简单,你只需要将isl文件改成UTF-8编码即可。如果这还不行,请将编码格式改为UTF-8 with BOM。

    目前,支持Unicode的Inno Setup只支持UTF-8编码,其他的UTF-16 LE/BE with or without BOM都是不支持的。

    好了,完了。感觉废话好多...哈哈...

  • 相关阅读:
    Java总结(三)之String、StringBuffer、StringBuilder区别
    Java总结(二)之字符串常用操作
    Java总结(一)之四类八种数据类型
    schema.xml的配置
    MySQL server has gone away问题得解决方案
    如何在Java中将Excel转化为XML格式文件
    FileItemFactory 接口的介绍
    小练习2
    小练习
    while else 练习题
  • 原文地址:https://www.cnblogs.com/wpcockroach/p/4313365.html
Copyright © 2011-2022 走看看