Hi Reiner,
> when i execute a query against the data that contains the swedish
character
> � i get a ? returned instead.
unfortunately, there are more places where something can get wrong :-(
1. What is your database character set?
(select * from nls_database_parameters where parameter =
'NLS_CHARACTERSET';)
2. What is the character set DBD is using?
echo $NLS_LANG under Unix/Linux, echo %NLS_LANG% under Windows.
If this envirnonment variable is not set, some kind of system default will
be used.
Under Windows, the registry is queried.
3. What character set expects your viewer/sh/editor
If the first two are the same, it may work, wheter OR NOT this character set
supports swedish
characters. This is because no conversion between insert and retrieval
occurs.
(Of course, if your database character set is a 7-bit-only character set, no
8 bit characters will be stored...)
If the first two are different, it may NOT work, because conversion occurs.
If the session setting is different, than the actual data ist inserted, then
you have a real real problem.
Example: In the localised german M$ Windows, when using cmd.exe
("console"), the character set used by cmd.exe is
WE8PC850 (Oracle Terminology), the character set used by Windows
applications is MSWIN1252 (Oracle
Terminology). So without explicitly setting the environment variable
NLS_LANG for console processes you will
get raw garbage.
More info you will find under:
in german (an article on this issue):
http://www.doag.org/pub/docs/regio/hamburg/2003-05/characterset-kovertierung
en-busik-030506.pdf
in english:
Oracle metalink notes 144192.1, 68790.1, 158577.1, 137127.1, 119164.1,
66320.1
HTH,
Martin