Character Set conversion between W2K and Unix [message #63695] |
Thu, 28 October 2004 13:04 |
John Bunting
Messages: 1 Registered: October 2004
|
Junior Member |
|
|
I have a 9i development database in a W2K machine (WE8MSWIN1252 character set). The production machine is Solaris (WE8ISO8859P1). After I export from development to production, I have some characters that are fine on the W2K box but upside down question marks on the Solaris box. The character is usually the backward double-quote that Word uses (“) instead of a normal double-quote (").
How do I get around this problem?
When I export from the W2K box I get the following message:
Export done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
When I import on the Unix box I get:
import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses WE8ISO8859P1 character set (possible charset conversion)
export client uses WE8MSWIN1252 character set (possible charset conversion)
|
|
|
Re: Character Set conversion between W2K and Unix [message #63696 is a reply to message #63695] |
Thu, 28 October 2004 15:55 |
andrew again
Messages: 2577 Registered: March 2000
|
Senior Member |
|
|
you can run csscan (oracle util) to scan the datafiles for characters which may not map cleanly from 1252 to ISO-1. To fix those, you may need to run a replace() on the data and then export it.
Try setting the NLS_LANG=american_america.WE8ISO8859P1 on W2K before exporting. That way the export file will contain WE8ISO8859P1 data.
Isolate the “ using substr() and get it's decimal value using dump(). It seems to be Ox93 (using windows Character Map for Windows:Western). The right hand one seems to be 0x94. The regular " is Ox22.
update my_tab set mycol = replace(mycol, chr(123), chr(234))
where mycol != replace(mycol, chr(123), chr(234));
You can also find the set of characters in your data to identify the special ones outside the usual ASCII range:
http://asktom.oracle.com/pls/ask/f?p=4950:61:::::P61_ID:26178667828928
|
|
|