New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensure correct international input on windows text console with OEM codepage selected [CORE4863] #5159
Comments
Modified by: @AlexPeshkoff |
Modified by: @AlexPeshkoff |
Modified by: @AlexPeshkoff |
Modified by: @AlexPeshkoff |
Commented by: @hvlad > Therefore in all cases (at least 2 of them are typing password in "connect"/"create database" commands in isql and input of password from terminal when requested by utility switches) when text is initially in OEM codepage, in should be transliterated to OEM codepage before passing it to parameters block. I'd say it should be converted into UTF8, not OEM |
Modified by: @AlexPeshkoffdescription: When in Windows in text console OEM codepage is used, command line parameters are passed to the program anyway in ANSI codepage, but text typed on console is (as expected) - in OEM. When such data (dbname, login, password) is passed to DPB/SPB or attach/create database call, they are expected to be in ANSI codepage. Therefore in all cases (at least 2 of them are typing password in "connect"/"create database" commands in isql and input of password from terminal when requested by utility switches) when text is initially in OEM codepage, in should be transliterated to OEM codepage before passing it to parameters block. => When in Windows in text console OEM codepage is used, command line parameters are passed to the program anyway in ANSI codepage, but text typed on console is (as expected) - in OEM. When such data (dbname, login, password) is passed to DPB/SPB or attach/create database call, they are expected to be in ANSI codepage. Therefore in all cases (at least 2 of them are typing password in "connect"/"create database" commands in isql and input of password from terminal when requested by utility switches) when text is initially in OEM codepage, in should be transliterated to ANSI codepage before passing it to parameters block. |
Commented by: @AlexPeshkoff Certainly not to OEM. It was mistype, fixed now. Should it be ANSI (system) or UTF8 encoding depends upon in what codepage does utility build parameters block. Currently all utilities do work with system/ANSI encoding when building dpb/spb, not with UTF8. So the obvious goal is to have all data in parameters block in same encoding, known to fbclient library. Will it be ANSI or UTF8 is not great deal - fbclient can transliterate from ANSI to UTF8 itself. |
Submitted by: @AlexPeshkoff
Is related to CORE3782
Is related to CORE4854
When in Windows in text console OEM codepage is used, command line parameters are passed to the program anyway in ANSI codepage, but text typed on console is (as expected) - in OEM. When such data (dbname, login, password) is passed to DPB/SPB or attach/create database call, they are expected to be in ANSI codepage. Therefore in all cases (at least 2 of them are typing password in "connect"/"create database" commands in isql and input of password from terminal when requested by utility switches) when text is initially in OEM codepage, in should be transliterated to ANSI codepage before passing it to parameters block.
The text was updated successfully, but these errors were encountered: