Ich habe 2 Oracle 10g Datenbanken, XE und Enterprise
XE
Unternehmen
und dies sind die Datentypen, die ich in der Testtabelle verwendet habe
und dann habe ich versucht zu testen, ob ich ein Unicode-Zeichen aus http://www.sustainablegis.com/unicode/
und die Ergebnisse sind
XE
Unternehmen
für diesen Test verwende ich ColdFusion 9 Developer Edition
<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>
aus diesem Leitfaden http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10749/ch6unicode.htm#i1007297 Ich denke, für meine Enterprise-Datenbank sollte es dasselbe produzieren wie XE (zumindest für NVARCHAR2-Spalte), da die typische Lösung aus diesem Führer sagte:
- Verwendung der Datentypen NCHAR und NVARCHAR2 zum Speichern von Unicode-Zeichen
- WE8ISO8859P1 als Datenbankzeichensatz beibehalten
- AL16UTF16 als nationalen Zeichensatz verwenden
Wie kann ich also erreichen, dass es auch in meiner Enterprise-Datenbank funktioniert?
Dankeschön :)