Oracle11g 在Oracle中生成新XMLTYPE时保持UTF8编码

Oracle11g 在Oracle中生成新XMLTYPE时保持UTF8编码,oracle11g,character-encoding,xmltype,Oracle11g,Character Encoding,Xmltype,我有一个从表中检索文本的游标。 然后我有一个。。循环在该游标上迭代,并创建一个XMLTYPE,如下所示: TRANSLATION := XMLTYPE('<I18NElement> <i18nElementType>'||ELEMENTTYPE||'</i18nElementType> <key>'||REC.CODE||'</key&

我有一个从表中检索文本的游标。 然后我有一个。。循环在该游标上迭代,并创建一个XMLTYPE,如下所示:

  TRANSLATION := XMLTYPE('<I18NElement>
                          <i18nElementType>'||ELEMENTTYPE||'</i18nElementType>
                          <key>'||REC.CODE||'</key>
                          <languageCode>'||REC.CODIDI||'</languageCode>
                          <i18nField>
                            <fieldName>commercialName</fieldName>
                          </i18nField>
                          <i18nField>
                            <fieldName>description</fieldName>
                            <translation><![CDATA['||REC.DESCRIPTION||']]></translation>
                          </i18nField>
                          <isDefault>'||BOOLEANDEFAULT||'</isDefault>
                        </I18NElement>');
我已经尝试了各种各样与
UTL_I18N
实用程序的组合,到目前为止没有任何效果。 数据库
NLS\U字符集
设置为
AL32UTF8

如果您能提供任何信息,我将不胜感激!我在stackoverflow中发现了很多相关问题,但到目前为止没有一个对我有效…

结果表明,由于某种原因,Toad(12.1)XMLTYPE弹出编辑器没有显示正确编码的文本。数据正确插入,使用SQL Developer没有编码问题

编辑:不知何故,它看起来也取决于软件版本和操作系统。我们有一台机器,它的编码在Toad 9.7中看起来很好(我有12.1),另一台机器在SQL Developer 4.2和Ubuntu中也很好,还有一台机器没有显示正确的编码(这里是SQL Developer和Toad的屏幕截图):

幸运的是,数据库似乎很好,因为我们的UTF-8Java应用程序显示了正确的编码

然而,有相当多的时间被扔进垃圾箱

结果是Toad(12.1)XMLTYPE弹出编辑器由于某种原因没有显示正确编码的文本。数据正确插入,使用SQL Developer没有编码问题

编辑:不知何故,它看起来也取决于软件版本和操作系统。我们有一台机器,它的编码在Toad 9.7中看起来很好(我有12.1),另一台机器在SQL Developer 4.2和Ubuntu中也很好,还有一台机器没有显示正确的编码(这里是SQL Developer和Toad的屏幕截图):

幸运的是,数据库似乎很好,因为我们的UTF-8Java应用程序显示了正确的编码


然而,有相当多的时间被扔进垃圾箱

要插入的列是什么数据类型-XMLType、CLOB、NCLOB?如果是NCLOB(或NVARCHAR2,可能性较小),您的国家角色集是什么?插入后如何查询和显示原始值和存储值?这是一个XMLTYPE列。我想知道这是否是蟾蜍的问题(我从那里执行脚本)。我将尝试使用SQLDeveloper。您要插入到-XMLType、CLOB、NCLOB中的列是什么数据类型?如果是NCLOB(或NVARCHAR2,可能性较小),您的国家角色集是什么?插入后如何查询和显示原始值和存储值?这是一个XMLTYPE列。我想知道这是否是蟾蜍的问题(我从那里执行脚本)。我将尝试使用SQL Developer。这取决于操作系统区域设置和/或蟾蜍的字符集设置吗?这取决于操作系统区域设置和/或蟾蜍的字符集设置吗?
<I18NElement>
  <i18nElementType>Hotel</i18nElementType>
  <key>GUESTI@1036@Hotel@GUESTI#1036</key>
  <languageCode>ES</languageCode>
  <i18nField>
    <fieldName>commercialName</fieldName>
  </i18nField>
  <i18nField>
    <fieldName>description</fieldName>
    <translation><![CDATA[Hotel de playa de 3 estrellas, de gestión familiar desde 1964. Larga experiéncia el en trato familiar con el cliente. Situado en Malgrat de Mar, Costa Barcelona-Maresme, a 80 Km del aeropuerto de Barcelona y a 40 Km del de Girona.

Este hotel, está compuesto por un edificio principal de cuatro plantas y otro anexo de dos, contiene un total de 227 habitaciones. Está situado a solamente 50 metros de la playa y del paseo marítimo y el centro del pueblo está a una distancia de 400 metros.]]></translation>
  </i18nField>
  <isDefault>true</isDefault>
</I18NElement>
Hotel de playa de 3 estrellas, de gestión familiar desde 1964. Larga experiéncia el en trato familiar con el cliente. Situado en Malgrat de Mar, Costa Barcelona-Maresme, a 80 Km del aeropuerto de Barcelona y a 40 Km del de Girona.

Este hotel, está compuesto por un edificio principal de cuatro plantas y otro anexo de dos, contiene un total de 227 habitaciones. Está situado a solamente 50 metros de la playa y del paseo marítimo y el centro del pueblo está a una distancia de 400 metros.