使用案例 我有一个客户端服务器设置,其中服务器是Solaris机器,客户端可以是任何Windows,Linux等。客户端需要根据客户端的区域设置创建资源包对象,而该区域设置又提取服务器上维护的中文属性文件(出于某些设计原因)。
要求: 我需要在服务器(utf-8编码)维护中文文件,而不将服务器的语言环境更改为中文。 (同样,可能稍后,我们可能会引入对其他语言的支持。所以实际上我们不能让服务器同时指向多个语言环境。希望我在这里指出我的观点!)
问题: 我在Windows机器上创建中文属性文件,然后将其FTP到Solaris机器并尝试使用VI编辑器查看它。它被编码为一些默认的solaris编码,如下所示:
\ 217 \ 251 \ 300disk-redundancy.mirrors.label = \ 207 \ 376 \ 251 \ 207 \ 251 \ 226 \ 207 \ 242 \ 346 \ 206 \ 304 \ 272 \ 205 \ 326 \ 277 \ 207 \ 326 \ 251 \ 205 \ 273 \ 362 LoginWindow.login_label = \ 207 \ 326 \ 251 \ 205 \ 273 \ 362 Id:
P.S。如上所述,更改服务器上的语言环境不能成为解决方案的一部分。
供参考:
LANG=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
注意: 1.与上述VI相比,cat显示出不同的结果。请在下面找到cat的输出:
▒▒▒disk-redundancy.mirrors.label =▒▒▒▒▒▒▒▒▒ĺ▒ֿ▒֩▒▒▒LoginWindow.login_label=▒֩▒▒▒Id:
我尝试以编程方式访问文件而不打开任何编辑器,我认为这表明问题不在于编辑器。
java DebugTool ?? ID:的
auto_ef -a chinese.properties
UTF-8 1.00
盘redundancy.mirrors.label =系统监控器登录
disk-redundancy.mirrors.value =登录ID: