vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hello: We are loading files with UTF8 Characters (such as İ and Ç) My CTL File has: LOAD DATA CHARACTERSET UTF8 APPEND INTO TABLE EXT_STG_SPEND ..... then the columns.... We set NLS_LANG on Linux to export NLS_LANG=AMERICAN_AMERICA.UTF8 In Oracle: NLS_LANGUAGE = AMERICAN NLS_TERRITORY = AMERICA NLS_CHARACTERSET = UTF8 NLS_NCHAR_CHARACTERSET = UTF8 When I run this SQLLDR, The string: "PC İÇİN ALINAN LİSANS BED." gets input into my table as "PC ¿¿ ALINAN L¿ANS BED." I know that my DB supports "PC İÇİN ALINAN LİSANS BED." because when I enter it by hand it can maintain it..... I have read countless articles on the subject to no avail.... Any help or direction on where to look would be greatly appreciated. Thanks. |
| |||
| Russ wrote: > Hello: > > We are loading files with UTF8 Characters (such as İ and Ç) > My CTL File has: > LOAD DATA > CHARACTERSET UTF8 > APPEND > INTO TABLE EXT_STG_SPEND > .... then the columns.... > > We set NLS_LANG on Linux to > export NLS_LANG=AMERICAN_AMERICA.UTF8 > > In Oracle: > NLS_LANGUAGE = AMERICAN > NLS_TERRITORY = AMERICA > NLS_CHARACTERSET = UTF8 > NLS_NCHAR_CHARACTERSET = UTF8 > > When I run this SQLLDR, The string: "PC İÇİN ALINAN LİSANS BED." gets > input into my table as "PC ¿¿ ALINAN L¿ANS BED." > > I know that my DB supports "PC İÇİN ALINAN LİSANS BED." because when I > enter it by hand it can maintain it..... > > I have read countless articles on the subject to no avail.... > > Any help or direction on where to look would be greatly appreciated. > > Thanks. Change your PC's charset - it's probably ISO; guess WE8MSWIN1252 would do it (that would match your OS) - else UTF8 - just as the server -- Regards, Frank van Bortel |
| |||
| Be wary of how things display - as this is affected by environment settings and font availability. Best to check the raw characters in the file and in the database using the unix od command and the SQL dump() function to see what is really there and in what characterset. Bear in mind that if necessary you can set NLS_LANG differently in the client than the server setting and Oracle will automatically convert charactersets where possible. So for example you may want to consider setting your client (Linux?) NLS_LANG to match your Linux locale as fonts are usually in the old single-byte charactersets (ISO8859) which gives issues displaying multi-byte UTF8 characters. Russ wrote: > Hello: > > We are loading files with UTF8 Characters (such as İ and Ç) > My CTL File has: > LOAD DATA > CHARACTERSET UTF8 > APPEND > INTO TABLE EXT_STG_SPEND > .... then the columns.... > > We set NLS_LANG on Linux to > export NLS_LANG=AMERICAN_AMERICA.UTF8 > > In Oracle: > NLS_LANGUAGE = AMERICAN > NLS_TERRITORY = AMERICA > NLS_CHARACTERSET = UTF8 > NLS_NCHAR_CHARACTERSET = UTF8 > > When I run this SQLLDR, The string: "PC İÇİN ALINAN LİSANS BED." gets > input into my table as "PC ¿¿ ALINAN L¿ANS BED." > > I know that my DB supports "PC İÇİN ALINAN LİSANS BED." because when I > enter it by hand it can maintain it..... > > I have read countless articles on the subject to no avail.... > > Any help or direction on where to look would be greatly appreciated. > > Thanks. |
| |||
| Frank <fbortel@nescape.net> wrote in message news:<brqf51$l2l$1@news4.tilbu1.nb.home.nl>... > Russ wrote: > > > Hello: > > > > We are loading files with UTF8 Characters (such as İ and Ç) > > My CTL File has: > > LOAD DATA > > CHARACTERSET UTF8 > > APPEND > > INTO TABLE EXT_STG_SPEND > > .... then the columns.... > > > > We set NLS_LANG on Linux to > > export NLS_LANG=AMERICAN_AMERICA.UTF8 > > > > In Oracle: > > NLS_LANGUAGE = AMERICAN > > NLS_TERRITORY = AMERICA > > NLS_CHARACTERSET = UTF8 > > NLS_NCHAR_CHARACTERSET = UTF8 > > > > When I run this SQLLDR, The string: "PC İÇİN ALINAN LİSANS BED." gets > > input into my table as "PC ¿¿ ALINAN L¿ANS BED." > > > > I know that my DB supports "PC İÇİN ALINAN LİSANS BED." because when I > > enter it by hand it can maintain it..... > > > > I have read countless articles on the subject to no avail.... > > > > Any help or direction on where to look would be greatly appreciated. > > > > Thanks. > > Change your PC's charset - it's probably ISO; guess WE8MSWIN1252 > would do it (that would match your OS) - else UTF8 - just as the server How do I change my characterset on Linux? Also, note that I can use vi and view the characters as they should be from my Linux system? Thanks. -Russ |
| |||
| Russ wrote: > Frank <fbortel@nescape.net> wrote in message news:<brqf51$l2l$1@news4.tilbu1.nb.home.nl>... > >>Russ wrote: >> >> >>>Hello: >>> >>>We are loading files with UTF8 Characters (such as İ and Ç) >>>My CTL File has: >>>LOAD DATA >>>CHARACTERSET UTF8 >>>APPEND >>>INTO TABLE EXT_STG_SPEND >>>.... then the columns.... >>> >>>We set NLS_LANG on Linux to >>>export NLS_LANG=AMERICAN_AMERICA.UTF8 >>> >>>In Oracle: >>>NLS_LANGUAGE = AMERICAN >>>NLS_TERRITORY = AMERICA >>>NLS_CHARACTERSET = UTF8 >>>NLS_NCHAR_CHARACTERSET = UTF8 >>> >>>When I run this SQLLDR, The string: "PC İÇİN ALINAN LİSANS BED." gets >>>input into my table as "PC ¿¿ ALINAN L¿ANS BED." >>> >>>I know that my DB supports "PC İÇİN ALINAN LİSANS BED." because when I >>>enter it by hand it can maintain it..... >>> >>>I have read countless articles on the subject to no avail.... >>> >>>Any help or direction on where to look would be greatly appreciated. >>> >>>Thanks. >> >>Change your PC's charset - it's probably ISO; guess WE8MSWIN1252 >>would do it (that would match your OS) - else UTF8 - just as the server > > > > How do I change my characterset on Linux? > Also, note that I can use vi and view the characters as they should be > from my Linux system? > > Thanks. > > -Russ My fault - I assumed you were using SQL*Loader on the server, and then displaying (using ???) on a Windows PC. Please post what tools you use where - the earlier advice might be way off. Charset in Linux would be using the export command - use env to show the current settings: export NLS_LANGUAGE=AMERICA_AMERICAN.UTF8 -- Regards, Frank van Bortel |
| ||||
| Hi, I have a SQL script file that inserts data into the oracle 10g database. The script has correct data (in UTF-8 format). The client used is SQL *Plus in Windows machine. Some junk character is getting stored in the database. Is the problem with SQL *Plus? Does it not support UTF-8 characters? In teh oracle forum, it is said that SQL * Plus supports UTF-8 characters in Unix systems by default. If that is so, what other option do i have to execute the script in a windows box thru' SQL * Plus? BTW, it is mandatory for me to have the log files of the script execution. So, I ignored the iSQL Plus solution. The characterset of the database is AL32UTF8. The codepage is 1252. NLS_LANG of client and the server is AMERICAN_AMERICA.WE8MSWIN1252. Also if anybody could shed some light on the support of UTF-8 characters in SQL Loader, it will be of great help. Any help will be appreciated. Thanks, Srividya R Last edited by rsrividya@arisglobal.com : 04-15-2008 at 03:22 PM. |