Ubuntu GnuCOBOL程序在编辑的图片中显示'�'字符而不是'£'

问题描述 投票:5回答:1

不幸的是,我的earlier question有第2部分。

该链接显示了一个简单的COBOL程序将值移动到编辑后的图片,该图片应该在值前面加上'£'。

根据前面问题的答案,有必要将源文件中的编码显式设置为ISO-8859-15,以便程序成功编译。

根据我面前的书预期输出:

Edit1 = £12,345.95

运行程序的输出:

Edit1 = �12,345.95

我已经尝试了Geany中的一些其他西方编码选项。其中一些也编译,但有相同的DISPLAY问题,这似乎是一个编码相关的问题。

有没有人知道如何让程序按照Ubuntu的预期工作?

ubuntu cobol gnucobol
1个回答
7
投票

这不是任何一种OpenCOBOL错误 - 这是与我在链接问题中给出的建议相关的问题。

  1. COBOL源文件应编码为ISO-8859-15。
  2. Ubuntu默认为UTF-8。这意味着只要求运行该程序就要求其输出以UTF-8显示,而UTF-8无法识别ISO-8859-15磅符号。

一种解决方案是明确要求Ubuntu会话使用ISO-8859-15:

$ luit -encoding ISO-8859-15 ./Listing9-2
Edit1 = £12,345.95
© www.soinside.com 2019 - 2024. All rights reserved.