不可调和的 \ 和 ¥

作者:陆麟
转载请征得作者同意.
2010.9.22



这次要写的乃是日文系统下的ASCII文字: ¥。

以前玩DOS游戏的时候,日文DOS给出的路径分割符就是¥。这个¥,其实就是ASCII 0x5C在日文中的表现。这下可糟糕了。同样一个字符,在不同的系统下,甚至不同的字体下,会有完全截然不同的2种表现形式。因此当软件需要被多国语言化(本地化)的时候,必须要严加注意。那注意什么东西呢?如果我们要保障所见即所得,在日文系统下的¥到英文系统下必须显示为¥而不是 \ ,最佳的解决方案就是采用UNICODE。

在UNICODE方案下,\和¥是2个不同的文字,只要系统支持UNICODE,就能保持输入输出时含义不变。

那遗留下来的文档中如果已经包含了ASCII 0X5C怎么办呢?

唯一的办法是在日文系统下当¥来处理,并且显示为¥,而在其他系统下当作\来处理,并且显示为\。

说来容易,做来难,当你的应用是B/S或者C/S结构应用,仅考虑C/S,B/S的英文和日文2个语种类型便有下面的组合

- 客户端是日文系统,服务端是英文系统

- 客户端是英文系统,服务端是日文系统

- 客户端是英文系统,服务端是英文系统

- 客户端是日文系统,服务端是日文系统

随着文档所在位置不同,处理上不加考虑一定不行哦。。。

编写应用的时候,必须提前为文档标上语种标识,不然无法保障正确处理。 :)