Skip to content
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

Open
firebird-automations opened this issue Jul 7, 2015 · 7 comments

Comments

@firebird-automations
Copy link
Collaborator

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.

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

Link: This issue depends on CORE3782 [ CORE3782 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

Link: This issue depends on CORE3782 [ CORE3782 ] =>

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

Link: This issue is related to CORE3782 [ CORE3782 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

Link: This issue is related to CORE4854 [ CORE4854 ]

@firebird-automations
Copy link
Collaborator Author

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

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

description: 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.

@firebird-automations
Copy link
Collaborator Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant