メインフレーム上にCOBOLのソースコードを持つ日本のクライアントがあります。彼は、メインフレームのコードがShift-JIS2で表されていると主張しています(そして私たちはそれをかなりよく理解していると思います)。そのコードがPCに転送されるとき、使用される最も一般的なエンコーディングは何ですか?そのCOBOLコードを処理するプログラムを彼に送ったところ、窒息しているようです。お客様から直接コードを提供されることはないため、実験は困難です。彼の実験はUTF-8を示しているようです。Shift-JIS2でエンコード可能な日本語の文字は、それに応じてUnicodeに相当するものに変換されると思います。誰かここで何か経験がありますか?
編集:私たちは私たちの謎を解決したと思います。クライアントはPCでCP-932( "ShiftJIS")を使用していますが、彼のCOBOLプログラムでは、識別子に日本語の文字が含まれているため、ツールが窒息しています。
編集:フォローアップ:もう少し驚き。SHIFT-JISは、東アジアの表意文字と同じ画面スペースを使用する、いわゆる「全角」文字としてASCIIテキストと見なすものをエンコードすることがよくあります。従来のASCII文字は半角として機能します。つまり、FULLWIDTH "A"、 "B"、..."Z"とFULLWIDTH"-"があります。明らかに、日本語のCOBOLを処理するには、COBOLパーサーはWestern ASCIIだけでなく、同等のFULLWIDTHも受け入れる必要があります。FULLWIDTH文字と、驚くべきことにFULLWIDTH HYPHENは、COBOL識別子の「文字」を区切るために使用されていました。
編集:IBM Enterprise COBOLでは、IDにDBCS文字を使用できます。うわぁ!