Deal with the special chars in oracle table

Some special chars in a table column show in the different symbols. It shows a wide dash in TOAD, an inverse question mark in sqlplus on Linux console, and a question mark in browser.  Is there any way to diagnose what it is, and fix it? Please can any gurus shed some light on it?
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

slightwv (䄆 Netminder) Commented:
From your previous question I'm 99.9% sure it is a character set issue.

If the database allows multi-byte character sets, like Chinese characters, and the client cannot, it will use some sort of glyph.

You can also have issues where the client tries to insert multi-byte characters into a database that doesn't allow them.

You need to make sure all the character sets between the clients and database match.  Then you shouldn't see 'special' characters.
jl66ConsultantAuthor Commented:
Thanks a lot for the info. I could not control the source, Is there anyway to know what it is and fix it?
slightwv (䄆 Netminder) Commented:
Ask those that control the source?

First you need to make sure where the issue is.

Can the database's characterset handle multi-byte characters?

Everything might be just fine and it your client that cannot properly display the data.

I find that troubleshooting character set issues are problematic to get everything talking together.
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

HuaMin ChenProblem resolverCommented:
You must check if your DB is enabling Unicode or not.  Read
Mark GeerlingsDatabase AdministratorCommented:
To HuaMinChen:

This English syntax: "is enabling" which is the "present progressive" verb form in English, usually indicates a temporary situation or condition.  For example, I could say: "I am having trouble with a PL\SQL program today",

But, to describe permanent or long-term situations or conditions in English, we use the simple present tense, for example: "I have three children" or "I have an Oracle11 database."

So, I would write your previous post like this:

You must check if your DB has Unicode support enabled or not.  Read...
jl66ConsultantAuthor Commented:
on client side it shows the strange chars, so does on server side, but they are different. This is an issue I have to fix.
slightwv (䄆 Netminder) Commented:
You need to be careful how you use the terms client and server.

When you log into the database server and run sqlplus, sqplus is still a client connection.

You didn't answer my question:
First you need to make sure where the issue is.

Can the database's characterset handle multi-byte characters?

In other words:  what is the columns data type, and what is the database's character set and nchar character set?

select * from nls_database_parameters;
jl66ConsultantAuthor Commented:
This is a 11gr2 database. It should not be a problem to handle multi-byte characters.

export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 and started the sqlplus to query and the inverse question marks showed up, then export NLS_LANG=AMERICAN_AMERICA.AL32UTF8. This time  ^ on the top of A showed up. How should it be handled?
slightwv (䄆 Netminder) Commented:
If you aren't going to answer my questions, I don't see how I can help.

>>This is a 11gr2 database. It should not be a problem to handle multi-byte characters.

What is the character set of the database?
What is the data type of the column with the data in question?

>>This time  ^ on the top of A showed up. How should it be handled?

So, is that what the character is supposed to be?  If so, you can handle it by setting NLS_LANG correctly on all the clients that access the database.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
jl66ConsultantAuthor Commented:
I have a workaround. Thanks a lot to everyone.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Oracle Database

From novice to tech pro — start learning today.