tengo 2 base de datos Oracle 10g, XE y Empresaproblema Oracle Unicode cuando se utiliza NLS_CHARACTERSET es WE8ISO8859P1 y NLS_NCHAR_CHARACTERSET es AL16UTF16, y ColdFusion como lenguaje de programación
XE
Empresa
y esto son el tipo de datos que he uso en la tabla de prueba
y luego traté de probar a insertar algún Unicode char desde http://www.sustainablegis.com/unicode/
y los resultados son
XE
Empresa
para esta prueba, yo uso ColdFusion 9 edición desarrollador
<cfprocessingDirective pageencoding="utf-8">
<cfset setEncoding("form","utf-8")>
<form action="" method="post">
Unicode : <br>
<textarea name="txaUnicode" id="txaUnicode" cols="50" rows="10"></textarea>
<br><br>
Language : <br>
<input type="Text" name="txtLanguage" id="txtLanguage">
<br><br>
<input type="Submit">
</form>
<cfset dsn = "theDSN">
<cfif StructKeyExists(FORM, "FIELDNAMES")>
<cfquery name="qryInsert" datasource="#dsn#">
INSERT INTO UNICODE
(
C_VARCHAR2,
C_CHAR,
C_CLOB,
C_NVARCHAR2,
LANGUAGE
)
VALUES
(
<cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#FORM.TXAUNICODE#">,
<cfqueryparam cfsqltype="CF_SQL_CHAR" value="#FORM.TXAUNICODE#">,
<cfqueryparam cfsqltype="CF_SQL_LONGVARCHAR" value="#FORM.TXAUNICODE#">,
<cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#FORM.TXAUNICODE#">,
<cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#FORM.TXTLANGUAGE#">
)
</cfquery>
</cfif>
<cfquery name="qryUnicode" datasource="#dsn#">
SELECT *
FROM UNICODE
ORDER BY LANGUAGE
</cfquery>
<table border="1">
<thead>
<tr>
<th>LANGUAGE</th>
<th>C_VARCHAR2</th>
<th>C_CHAR</th>
<th>C_CLOB</th>
<th>C_NVARCHAR2</th>
</tr>
</thead>
<tbody>
<cfoutput query="qryUnicode">
<tr>
<td>#qryUnicode.LANGUAGE#</td>
<td>#qryUnicode.C_VARCHAR2#</td>
<td>#qryUnicode.C_CHAR#</td>
<td>#qryUnicode.C_CLOB#</td>
<td>#qryUnicode.C_NVARCHAR2#</td>
</tr>
</cfoutput>
</tbody>
</table>
de esta guía http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10749/ch6unicode.htm#i1007297 pienso para mi base de datos de la empresa debe producir lo mismo que XE (al menos para la columna NVARCHAR2) ya que el solución típica de esa guía dijo:
- Uso NCHAR y tipos de datos NVARCHAR2 para almacenar caracteres Unicode
- Mantenga WE8ISO8859P1 como el carácter de base de datos creada
- uso AL16UTF16 como el carácter nacional establece
Entonces, ¿cómo hacer que funcione también en mi base de datos Enterprise?
Gracias :)