oracle - 如何在Oracle 11g r2 Express版中更改字符集

标签 oracle plsql oracle11g

我必须在Oracle 11g r2 Express实例中将字符集从AL32UTF8更改为WE8MSWIN1252 ...我尝试使用以下命令:

ALTER DATABASE CHARACTER SET WE8MSWIN1252;

但是它不能说MSWIN1252不是AL32UTF8的超集。然后,我发现了一些有关CSSCAN的文章,而该工具似乎在Oracle 11 Express中不可用。

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

任何人都知道如何做到这一点?提前致谢

编辑
澄清一下:真正的问题是我试图将数据导入到具有定义为VARCHAR(6字节)的列的表中。导致问题的字符串是“eq.mês”,MSWIN1252需要6个字节,UT8需要7个字节

最佳答案

你不能

Express版本的11g仅在使用UTF-8字符集时才可用。如果您想回到10g的快速版,则有一个使用Windows-1252字符集的西欧版本。与其他版本不同,Oracle不支持Express Edition中的所有字符集,也不支持更改现有XE数据库的字符集。

为什么您认为需要更改数据库字符集?除了可能花费更多的存储空间来支持Windows-1252范围的上半部分的字符(通常使用率不高)之外,UTF-8数据库的缺点并不多。

关于oracle - 如何在Oracle 11g r2 Express版中更改字符集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9117416/

相关文章:

sql - 在oracle中的自定义列中应用过滤器

sql - not null 在 oracle 中启用 novalidate 问题

sql - 创建一个简单的用户界面来访问 Oracle 数据库

c# - 从字符串数组创建 sql 查询

oracle - 在 sql 语句和 callablestatement 中传递密码的安全问题

sql - Oracle 10g 中的聚合字符串连接

database - 使用带有联合和 CLOB 字段的选择时出现 ORA-00932 错误

mysql - 如何在触发器PL/SQL中拆分设置值并插入每一行?

sql - 游标的目的是什么?

sql - 如何增加 Oracle SQL Developer 中的缓冲区大小以查看所有记录?