在Delphi6中显示泰铢字符符号

时间:2014-06-23 08:37:12

标签: delphi unicode delphi-6

我们的遗留应用程序之一是在Delphi6中,我们无法在此应用程序的标签和短信中显示“泰铢”的货币符号。

我们使用Baht的Unicode来设置标签/短信的文本(即0E3F),但它总是呈现为'?'。

我们尝试将所述标签/短信的字体属性更改为ANSI_CHARSET,DEFAULT_CHARSET(甚至是THAI_CHARSET),但没有运气。选择的字体类型是“Microsoft Sans Serif”,其货币符号为Baht(不是'MS Sans Serif',它没有泰铢货币符号)。

有没有人在Delphi6中遇到过这种情况?如果有的话有解决方案吗?

提前致谢.. !!

3 个答案:

答案 0 :(得分:2)

  

我们使用Baht的Unicode来设置标签/短信的文本(即0E3F),但它总是呈现为'?'。

?字符表示当Unicode字符转换为ANSI时,在使用的ANSI代码页中未找到任何字符。你的选择:

  1. 使用包含此字符的ANSI代码页,即Windows-874。
  2. 停止使用ANSI并开始使用Unicode。
  3. 后一个选项更好,但当然在Delphi 6中有点棘手,它开箱即用,是一个基于ANSI的工具。要使用Delphi 6制作Unicode GUI,您需要使用TNT Unicode组件。

答案 1 :(得分:2)

Windows'应用程序charmap.exe,启用了高级视图,具有字符集选择,当您选择字符时,底部的状态行显示旁边的字符的256位十六进制代码unicode代码点。

(在开始菜单中搜索“字符映射”,或按Windows键+ R并键入“charmap”)

如果我在这里使用“Windows:Thai”进行尝试,我会得到代码为0xDF的泰铢符号。因此,如果您在字符串中写入#$DF#223,或在键入0 2 2 3时按Alt键,则应该有效。

答案 2 :(得分:1)

原生的Unicode前Delphi控件允许仅在具有此特定系统区域设置的系统上输入特定的本地(前泰语)字符。

用于Unicode前Delphi版本的解决方法是用TNT Unicode控件替换本机VCL控件。

我今天不知道TNT Unicode控件的状态。您可以尝试在Google上搜索。

相关问题