加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用NLS_CHARACTERSET时的Oracle Unicode问题是WE8ISO8859P1和NL

发布时间:2020-12-12 13:15:26 所属栏目:百科 来源:网络整理
导读:我有2个Oracle 10g数据库,XE和Enterprise XE 企业 这是我在测试表中使用的数据类型 然后我尝试测试从http://www.sustainablegis.com/unicode/插入一些Unicode字符 结果是 XE 企业 对于此测试,我使用ColdFusion 9开发人员版 cfprocessingDirective pageencodi
我有2个Oracle 10g数据库,XE和Enterprise

XE

企业

这是我在测试表中使用的数据类型

然后我尝试测试从http://www.sustainablegis.com/unicode/插入一些Unicode字符

结果是

XE

企业

对于此测试,我使用ColdFusion 9开发人员版

<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>

从本指南http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10749/ch6unicode.htm#i1007297我认为对于我的企业数据库,它应该生成与XE相同的东西(至少对于NVARCHAR2列),因为该指南的典型解决方案说:

>使用NCHAR和NVARCHAR2数据类型来存储Unicode字符
>将WE8ISO8859P1保留为数据库字符集
>使用AL16UTF16作为国家字符集

那么,如何让它在我的企业数据库中也能运行呢?

谢谢

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读