如何在日语语言环境中显示反斜杠

时间:2012-02-01 22:35:56

标签: delphi character-encoding delphi-2009

在我的应用程序中,我使用反斜杠作为基于文本的活动指示器的一部分(典型的/ - \序列..我删除了|因为它有不同的宽度)。一切顺利,直到我看到我的应用程序在日本计算机上运行。反斜杠被替换为日文字符。

我该如何避免这种情况?

6 个答案:

答案 0 :(得分:2)

在delphi应用程序中,您可以选择一个将Unicode codepoint呈现为反斜杠的Font。但是,大多数标准字体(包括Windows中的许多字体)都会故意在日语语言环境中显示日元标记而不是反斜杠,原因是用户期望它。

如果您想确定所显示的内容,请使用您自己的字体,不是Windows附带的字体,并将其与您的应用程序一起安装。

答案 1 :(得分:2)

您可以使用.oOo作为序列。期间,小o,资本O,小o。

应该适用于任何语言。

答案 2 :(得分:0)

你必须忍受这个。在日本计算机上编辑shell脚本之类的东西看起来很奇怪,但你已经习惯了。特别是如果您的应用程序通过SSH会话远程运行,您无法控制将使用哪种字体来呈现它。

你最好的选择可能是使用更漂亮的角色,比如╱─╲或类似的东西,并希望用户有一个可以显示它的字体。

答案 3 :(得分:0)

如果没有使用较新版本的Delphi迁移到Unicode,您必须找到一组可以执行合适动画的低ASCII字符。
我建议使用数字序列[0-9]或[1-3]来保持你的3个字符序列。这应该适用于所有日语代码集。

答案 4 :(得分:0)

如果用户计算机上的Unicode字体支持它,您还可以尝试其中一个Unicode块的字符串:

http://en.wikipedia.org/wiki/Arrow_%28symbol%29

http://en.wikipedia.org/wiki/Box_drawing_characters

http://en.wikipedia.org/wiki/Unicode_Geometric_Shapes

http://en.wikipedia.org/wiki/Miscellaneous_Technical_%28Unicode%29

http://en.wikipedia.org/wiki/Miscellaneous_Symbols

(仅限VCL,对于控制台应用程序,问题是shell的字符集/代码页)

但这听起来很有希望(除了可能失控的字体部分):

  

Delphi 2009中的Writel仍然使用ANSI(参见System TTextRec),但是你   可以使用UTF8Encode并将控制台的输出代码页更改为UTF8   通过调用SetConsoleOutputCP(CP_UTF8)。你还需要一个好的字体   实际显示Unicode字符。

(来自https://stackoverflow.com/a/268202/80901

答案 5 :(得分:-2)

按住 Ctrl + `,它应该会改变。

相关问题