pmattes / x3270

Family of IBM 3270 emulators
47 stars 19 forks source link

Way to deduce code table from connection? #13

Closed Harm10 closed 3 years ago

Harm10 commented 3 years ago

I tried to find this in the documentation but that turned out rather difficult.......... Is there a way to deduce the code table from the connection made? This is quite relevant for encoding the strings. Some screens are utf-8 but others are latin-1 for example. No problem for plain characters but can give weird results for characters like ë etc.

pmattes commented 3 years ago

If you use the -utf8 option, x3270 will encode and decode everything using UTF-8. Otherwise, by default it will use whatever the workstation's local encoding is (locale on POSIX, ANSI code page on Windows).

Harm10 commented 3 years ago

Forgive my ignorance but where can I specify this option? I have installed WC3270 and the connection wizard does not offer this. I am also using a Python Robot Framework RIDE interface (Mainframe3270) that in turn uses code of PY3270 source to set up an connection. So I am searching what the best way of setting this option is? Can it be changed after a connection has been set up with an exec command? Perhaps there are better ways of doing this in RIDE?

pmattes commented 3 years ago

The UTF-8 option is not available directly from the Session Wizard menu -- if I made all 157 options available it would be much less usable. But there is a catch-all option at the end: "Edit miscellaneous resources with Notepad". You can use that option to add the following line to the bottom of the file: wc3270.utf8: true

You can also pass the -utf8 option on the command line, with the same effect.

I don't know if py3270 allows you to pass specific command-line options. It would make sense if it did.

The utf8 resource is not yet changeable at run-time, but the framework is there (the Set() action), so I just need to add it.

For reference: https://x3270.miraheze.org/wiki/Utf8_resource

Harm10 commented 3 years ago

Thanks for all the info and hints!