Oracle 如何将具有不同字符集的数据转换为其他数据库?

Oracle 如何将具有不同字符集的数据转换为其他数据库?,oracle,Oracle,嗨 我们想使用数据库链接连接一个数据库来操作选择,更新或。。。命令,我们的目标数据库是WE8ISO8859P1,当前数据库是AR8MSWIN1256 cahrset,但当我们操作命令查看数据时,所有非英语字符都会出现奇数,我们无法识别出现的文本,而且如果我们使用转换功能,不会做出任何更改,请帮助我们使用数据库链接查看正确的字符。 谢谢 它不适用于转换功能 选择转换(菜单名称,'US7ASCII','WE8ISO8859P1'), 转换(菜单名称,'ar8mswin1256','WE8ISO885

嗨 我们想使用数据库链接连接一个数据库来操作选择,更新或。。。命令,我们的目标数据库是WE8ISO8859P1,当前数据库是AR8MSWIN1256 cahrset,但当我们操作命令查看数据时,所有非英语字符都会出现奇数,我们无法识别出现的文本,而且如果我们使用转换功能,不会做出任何更改,请帮助我们使用数据库链接查看正确的字符。 谢谢

它不适用于转换功能

选择转换(菜单名称,'US7ASCII','WE8ISO8859P1'), 转换(菜单名称,'ar8mswin1256','WE8ISO8859P1'), 转换((转换(菜单名称,'US7ASCII','WE8ISO8859P 1')),'ar8mswin1256','WE8ISO8859P1'), 菜单名 从T$R_菜单@“到201.US.ORACLE.COM” 其中,MENU_ID=601011

结果是 欧盟?iY?C?ICa?奥凯? EC?IC?我? 欧盟?iY?C?ICa?奥凯?
EC?IC?大多数情况下,在查询Oracle数据库时,不需要函数将数据从一个字符集转换为另一个字符集:这是自动完成的。请求数据的客户端将字符串转换为它使用的任何字符集

在您的例子中,您缺少非英语字符,因为它们在WE8ISO8859P1中不存在


您可以在目标数据库中使用NVARCHAR2而不是VARCHAR2来支持unicode字符。NVARCHAR2专门设计用于在不修改数据库字符集的情况下处理此类字符串。有关VARCHAR2和NVARCHAR2之间的差异,请参阅。

大多数情况下,在查询Oracle数据库时,不需要函数将数据从一个字符集转换为另一个字符集:这是自动完成的。请求数据的客户端将字符串转换为它使用的任何字符集

在您的例子中,您缺少非英语字符,因为它们在WE8ISO8859P1中不存在

您可以在目标数据库中使用NVARCHAR2而不是VARCHAR2来支持unicode字符。NVARCHAR2专门设计用于在不修改数据库字符集的情况下处理此类字符串。有关VARCHAR2和NVARCHAR2之间的差异,请参阅