Issue Details (XML | Word | Printable)

Key: CORE-5345
Type: Improvement Improvement
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Nick
Votes: 0
Watchers: 3
Operations

If you were logged in you would be able to see more operations.
Firebird Core

Make errors UTF8-encoded.

Created: 02/Sep/16 01:59 PM   Updated: 03/Sep/16 03:23 AM
Component/s: API / Client Library
Affects Version/s: None
Fix Version/s: None

QA Status: No test


 Description  « Hide
Now it seems that they are in server's system locale.
And use NEUTRAL locale in OS errors. But better make it user-defined (by config and api).

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Dmitry Yemanov added a comment - 02/Sep/16 02:11 PM
What exactly errors do you mean? OS level errors converted to the textual form?

Nick added a comment - 02/Sep/16 04:07 PM
Yes.


Sean Leyne added a comment - 02/Sep/16 04:09 PM
Dmitry asked 2 questions, which one did you answer?

Please be explicit in your details/request.

Dmitry Yemanov added a comment - 02/Sep/16 04:38 PM - edited
This is a known issue, but a test case would be appreciated. And UTF8 is a wrong choice here, error messages are converted to the attachment charset.

Nick added a comment - 02/Sep/16 05:25 PM
All tests where text from Server OS locale can't be converted to attachment charset will fail.

Dmitry Yemanov added a comment - 02/Sep/16 05:41 PM
Then OS errors should be retrieved in English and sent "as is" to the client.

Nick added a comment - 02/Sep/16 06:07 PM
Or in server language (language may be defined in firebird.conf or in api call) and sent as utf8.
We have unicode metadata and unicode file names, so it seems that errors with metadata names must be in utf8.

Sean Leyne added a comment - 02/Sep/16 06:36 PM
OS errors should be in the language of the OS install (can't translate to English).

I don't see how Firebird.conf could have any role in that -- the OS will return the error as it wants -- application can only them pass along/log them as they are/as is.

Nick added a comment - 03/Sep/16 03:23 AM
Sean,

OS function FormatMessage has parameter LanguageId.

Hmmm, not NEUTRAL, but INVARIANT or "en-us"...