Windows 当我将中文字符从Oracle表单导出到Excel时,它们不再是中文了

Windows 当我将中文字符从Oracle表单导出到Excel时,它们不再是中文了,windows,excel,windows-7,oracle10g,oracleforms,Windows,Excel,Windows 7,Oracle10g,Oracleforms,我在Windows 7上从Oracle forms 10g导出到Excel时遇到汉字问题。虽然它们看起来像汉字,但它们不是汉字。考虑到这一点,我已经将计算机的语言更改为中文,并重新启动了计算机。我使用owa_sylk实用程序调用excel报告,如下所示: v_url := 'http://....../excel_reports.rep?sqlString=' || v_last_query || '&font_name=' ||

我在Windows 7上从Oracle forms 10g导出到Excel时遇到汉字问题。虽然它们看起来像汉字,但它们不是汉字。考虑到这一点,我已经将计算机的语言更改为中文,并重新启动了计算机。我使用owa_sylk实用程序调用excel报告,如下所示:

    v_url := 'http://....../excel_reports.rep?sqlString=' ||
       v_last_query      || 
       '&font_name='     ||       
       'Arial Unicode MS'||
       '&show_null_as='  ||
       ' '               ; 

web.show_document(v_url,'_self');
在这里,您可以看到它的外观:

有趣的是,当我将计算机语言更改为英语时,此列为空。此外,我意识到,如果我用文本编辑器打开文件,那么它就有正确的中文单词,但当我们用Excel打开它时,我们就有问题了

有人有线索吗


谢谢

这是一个字符编码问题。您需要确保整个链中的所有工具(数据库、web服务、Excel、文本编辑器和web浏览器)使用相同的字符编码

在这里,更改语言会有所帮助,但更好的方法是为链的每个部分确定编码

例如,与操作系统的语言设置相比,web浏览器更喜欢web服务器提供的编码

请参见以下问题:如何为Oracle设置UTF-8编码(可以以任何形式正确显示中文):

我不确定如何设置owa_sylk的编码,您必须检查文档(但找不到任何文档)。如果你找不到任何东西,可以在这里提问或使用其他工具

因此,您需要找出谁执行
excel\u reports.rep
,并正确配置。使用web浏览器的开发人员工具,检查页面的“字符集”或“编码”

Excel中的问题基于您输入的文件格式。Excel(.xls和.xlsx文件)文件是Unicode安全的,.csv不是。因此,如果您可以在文本编辑器中读取该文件,很可能这是一种非Excel文件格式,Excel可以对其进行解析,但它不包含必要的编码信息


如果您能够使用上述步骤生成UTF-8编码的文件,则可以使用“从文件源旁边出现的下拉列表中选择65001:Unicode(UTF-8)”加载该文件。在“文本导入向导”(Text Import Wizard)中(

是),问题来自不同的编码。如果DB使用UTF-8,并且需要将ASCII发送到Excel,则可以直接在owa_sylk中转换数据。使用函数

例如,函数owa_sylk.print_行更改 p(直线); 在…上 p(转换(行'ZHS32GB18030','AL32UTF8'); 其中,“ZHS32GB18030”是中文ASCII和“AL32UTF8'-UTF-8”中的一种

要选择编码参数,请使用

你也可以 *从V$NLS\u有效值中选择*参数='CHARACTERSET'*
查看所有支持的编码

如何“导出到Excel”?你使用哪个程序/工具?嗨,亚伦,我编辑了这个问题。我希望你现在有足够的信息:)可能重复的Hi,谢谢你的rply。数据库、web服务、Excel、文本编辑器和web浏览器都使用UTF-8作为编码。我还没有找到使用特殊编码生成owa_sylk的方法,但这可能会有所帮助。-)谢谢