【问题标题】:How to convert data with different charsets into other databases?如何将具有不同字符集的数据转换为其他数据库?
【发布时间】:2011-03-28 06:47:15
【问题描述】:

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

它不适用于转换功能

选择转换(menu_name,'US7ASCII','WE8ISO8859P1'), 转换(菜单名称,'ar8mswin1256','WE8ISO8859P1'), 转换((转换(菜单名称,'US7ASCII','WE8ISO8859P 1')),'ar8mswin1256','WE8ISO8859P1'), 菜单名称 来自 T$R_MENU@"TO201.US.ORACLE.COM" WHERE MENU_ID=601011;

结果是 EU?iY?C?ICa?奥科艾? 嗯???? ?C?IC?? ?C??我? EU?iY?C?ICa?奥科艾? 嗯???? ?C?IC?? ?C??我?

【问题讨论】:

    标签: oracle


    【解决方案1】:

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

    在您的情况下,您缺少非英语字符,因为它们在 WE8ISO8859P1 中不存在

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-20
      • 1970-01-01
      相关资源
      最近更新 更多