Unicode IBM大型机上的日文COBOL代码在Shift JIS中;在转移到PC后如何表示?

Unicode IBM大型机上的日文COBOL代码在Shift JIS中;在转移到PC后如何表示?,unicode,cobol,mainframe,shift-jis,Unicode,Cobol,Mainframe,Shift Jis,我们有一个日本客户机,在大型机上有COBOL的源代码。他声称大型机上的代码是用Shift-JIS2表示的(我们认为我们非常理解这一点)。当该代码传输到PC时,最常用的编码是什么? 我们已经给他发了一个程序来处理COBOL代码,它似乎被卡住了。客户不会直接给我们代码,所以实验很难。他的实验似乎表明UTF-8;我假设Shift-JIS2中可编码的日文字符相应地转换为Unicode等价物。有人在这里有经验吗 编辑:我想我们解开了我们的谜团。客户机在PC上使用CP-932(“ShiftJIS”),但是他

我们有一个日本客户机,在大型机上有COBOL的源代码。他声称大型机上的代码是用Shift-JIS2表示的(我们认为我们非常理解这一点)。当该代码传输到PC时,最常用的编码是什么? 我们已经给他发了一个程序来处理COBOL代码,它似乎被卡住了。客户不会直接给我们代码,所以实验很难。他的实验似乎表明UTF-8;我假设Shift-JIS2中可编码的日文字符相应地转换为Unicode等价物。有人在这里有经验吗

编辑:我想我们解开了我们的谜团。客户机在PC上使用CP-932(“ShiftJIS”),但是他的COBOL程序在标识符中有日文字符,这就是我们的工具阻塞的原因

编辑:后续:有点意外。SHIFT-JIS通常将我们认为的ASCII文本编码为所谓的“全宽”字符,与东亚表意文字占用相同的屏幕空间;传统的ASCII字符用作半宽度。所以,有一个全宽的“a” ,“B”。。。“Z”以及全宽“-”。显然,要处理日语COBOL,我们的COBOL解析器不仅必须接受西方ASCII,而且还必须接受全宽等价物,特别是全宽字母,令人惊讶的是,还必须使用全宽连字符来分隔COBOL标识符中的“字母”


编辑:IBM Enterprise COBOL允许在标识符中使用DBCS字符。哎呀

日本仍在大量使用三种编码:EUC-JP、ISO-2022-JP和Shift JIS


ISO-2022-JP通常用于电子邮件。而您将在Unix机器中看到EUC-JP。不过,我个人还没有处理过任何其他问题,除了轮班JIS。(也不是大型机。)

某些ftp工具(如FFFTP)将为您执行编码转换,因此请确保指定传输方法。如果是这样的话,它的默认值是什么呢?注意CP-932是Shift JIS(通常在Windows上使用)的扩展。不要在使用CP-932时使用Shift JIS,因为有些字符将无法正确编码。这几乎是七年后的事了。还是个问题吗?没有来源,你只能在黑暗中拍摄。与日本COBOL程序员签订短期合同可能就像戴上夜视镜一样,因为如果客户以“正常”的方式为日本做事(COBOL的人知道正常的方式),你会很幸运。即使是动词也不必是原创的,尽管我不确定它们是否可以是DBCS。我怀疑通过一些调整他们可以做到,但我没有尝试。IBM和Microsoft致力于提供与IBM相当的“Windows DBCS”。每个相关的“IBM”代码页都有一个Windows对应的代码页。据我所知,日语COBOL程序使用英语中的动词以及日语中的所有标识符和文字是“正常的”。它似乎包含了“宽”拉丁字符。你得到了批准,因为你说出了我想我们不相信的显而易见的事实:-{关于涉及全宽字符的复杂问题,请参阅对我原始问题的编辑。