-
Notifications
You must be signed in to change notification settings - Fork 15
CLI shows question marks instead of Russian symbols #169
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
Comments
SQLDeveloper PlugIn has the same problem. |
SQLcl has the same problem:
When trying to do a
|
@pesse where do I find the test case? |
@PhilippSalvisberg needs a special set-up database, then I just created a testcase with some russian chars in the description:
|
If the result of the query:
looks like this
then the NLS setup is correct and utPLSQL will show the correct test description. In all other cases the NLS setup is wrong. It is not really a utPLSQL related issue. |
Hi! In my case db encoding charset is ISO 8859-5 = CL8ISO8859P5 |
@alesana-san can you post the result of the query from SQLcl? select text from user_source where name= 'RU_TEST'; |
@pesse where do you set NLS_LANG? |
Some more investigation, using SQLcl (NLS_LANG set to I utPLSQL and paused it before consuming the OutputBuffer, so I could query the underlying table (user SYS):
For me, this looks like SQLcl can output it correctly, but assumes a wrong encoding, therefore running into the index violation. On the other hand it can query the source, containing the special chars with no problem at all:
|
More investigation results: |
Okay, I think I could dig it down (thanks again @PhilippSalvisberg for your help!) Issue 1: Unpatched 12.1I was able to reproduce a problem of different charset handling when using direct Issue 2: Console and Java File-EncodingIf I understood it correctly, Java will use the default Charset depending on the Console/Environment you use. For Windows this is mostly not UTF-8,
So, for NLS-Settings, use I hope this helps and solves your problem. |
In my case it was Issue 1. I patched my Oracle 12c with the latest PSU and it worked as expected. Any additional lines (such as setting |
@alesana-san, thank you for letting us know. So it was an Oracle Database bug in the end. |
Hi!
What started in a Slack chat grew into this issue :)
I have a test with Russian words in its name. So I expect it to be "Russian" when I call it via
cli
.Here's my preset:
Calling
ut.run
in DataGrip results in a good output with all my Russian symbols.Okay, let's proceed with
cli
:Calling as it is:
Nope, didn't work.
Let's try with
LC_ALL
:Noooooooope. Okay, let's try with
NLS_LANG
:God, plz! After looking at Oracle NLS stories I decided to do the following:
Well, let's take another shot:
Oh, I forgot to switch
chcp
to1251
. And again...And what about
sqlplus
?It works just fine! I call
ut.run
and output is okay! It's in Russian.Hands down, I don't get how charset stuff works. Any help would be appreciated!
The text was updated successfully, but these errors were encountered: