Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change character set in Oracle 11g r2 Express edition

I have to change the character set from AL32UTF8 to WE8MSWIN1252 in a Oracle 11g r2 Express instance... I tried to use the command:

ALTER DATABASE CHARACTER SET WE8MSWIN1252;

But it fails saying that MSWIN1252 isn't a superset of AL32UTF8. Then I found some articles talking about CSSCAN, and that tool doesn't seem to be available in Oracle 11 Express.

http://www.oracle-base.com/articles/10g/CharacterSetMigration.php

Anyone has an idea on how to do that? Thanks in advance

Edit Clarifying a little bit: The real issue is that I'm trying to import data into a table that has a column defined as VARCHAR(6 byte). The string causing the issue is 'eq.mês', it needs 6 bytes in MSWIN1252 and 7 bytes in UT8

like image 272
alessandroasm Avatar asked Feb 02 '12 17:02

alessandroasm


1 Answers

You can't.

The Express Edition of 11g is only available using a UTF-8 character set. If you want to go back to the express edition of 10g, there was a Western European version that used the Windows-1252 character set. Unlike with the other editions, Oracle doesn't support the full range of character sets in the Express Edition nor does it support changing the character set of an existing XE database.

Why do you believe you need to change the database character set? Other than potentially taking a bit more storage space to support the characters in the upper half of the Windows-1252 range, which generally aren't particularly heavily used, there aren't many downsides to a UTF-8 database.

like image 155
Justin Cave Avatar answered Oct 16 '22 10:10

Justin Cave