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