2009-08-21 6 views
4

Nous avons un client japonais qui a le code source en COBOL sur un mainframe. Il prétend que le code sur le mainframe est représenté dans Shift-JIS2 (et nous pensons que nous comprenons cela plutôt bien). Quand ce code est transféré sur un PC, quel est le codage le plus courant? Nous lui avons envoyé un programme pour traiter ce code COBOL et il semble s'étouffer. Le client ne nous donnera pas le code directement, donc les expériences sont difficiles. Ses expériences semblent indiquer UTF-8; Je suppose que les caractères japonais codables dans Shift-JIS2 sont convertis en équivalents Unicode. Quelqu'un a-t-il une expérience ici?Code COBOL japonais sur l'ordinateur central IBM dans Shift-JIS; représenté après le transfert à un PC comment?

EDIT: Je pense que nous avons résolu notre mystère. Le client utilise (duh!) CP-932 ("ShiftJIS") sur le PC, mais son programme COBOL a des caractères japonais dans les identifiants, et c'est pourquoi notre outil s'étouffe.

EDIT: Suivi: Un peu plus d'une surprise. SHIFT-JIS encode souvent ce que nous considérons comme du texte ASCII en tant que caractères dits «FULLWIDTH», qui prennent le même espace d'écran qu'un idéographe est-asiatique; Les caractères ASCII conventionnels agissent en demi-largeur. Donc, il y a une "0" FULLWIDTH "A" , "B", ... "Z" ainsi que FULLWIDTH "-". Apparemment, pour traiter COBOL japonais, notre analyseur COBOL doit accepter non seulement l'ASCII occidental, mais aussi les équivalents FULLWIDTH, esp. les lettres FULLWIDTH et étonnamment un HYPHEN FULLWIDTH utilisé pour séparer les "lettres" dans un identifiant COBOL.

EDIT: IBM Enterprise COBOL autorise les caractères DBCS dans les identificateurs. Yikes!

+0

Certains outils ftp, comme FFFTP, vont préformer la conversion d'encodage pour vous, alors assurez-vous de spécifier la méthode de transfert. http://www.forest.impress.co.jp/lib/inet/servernt/ftp/ffftp.html – monkut

+0

Et si c'était le cas, quelle serait sa valeur par défaut? –

+0

Remarque CP-932 est une extension de Shift-JIS (souvent utilisée sous Windows). N'utilisez pas Shift-JIS quand CP-932 signifie que certains caractères ne seront pas encodés correctement. –

Répondre

2

Trois codages sont encore très utilisés au Japon: EUC-JP, ISO-2022-JP et Shift-JIS.

ISO-2022-JP est généralement utilisé pour les courriers électroniques. Alors que vous verrez EUC-JP dans les machines Unix. Personnellement, je n'ai pas traité autre chose que Shift-JIS. (Pas d'ordinateurs centraux.)

+0

Vous obtenez le signe de tête, pour dire l'évidence que je suppose que nous n'avons pas cru: - { –

+0

Voir les modifications sur ma question d'origine pour les complications impliquant des caractères FULLWIDTH. –

Questions connexes