程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 關於在Oracle數據庫存儲m³(立方米)

關於在Oracle數據庫存儲m³(立方米)

編輯:Oracle教程

關於在Oracle數據庫存儲m³(立方米)


--------------注意:如下操作是在RHEL的VNC中執行的,並不是在secureCRT中執行的。------------
--------------原因:若是在secureCRT執行,m3會顯示成:m魯,見如下的截圖,是啥原因我還沒研究--

\

如下是實驗的過程:

[oracle@lei1 ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
[oracle@lei1 ~]$ sqlplus scott/aaaaaa

SQL*Plus: Release 11.2.0.3.0 Production on Sat Jun 20 10:02:14 2015

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> desc test_t1;
 Name        Null?    Type
 ----------------------------------------- -------- ----------------------------
 C1          VARCHAR2(20)


SQL> truncate table test_t1;

Table truncated.

SQL> insert into test_t1 values('m³');

1 row created.

SQL> commit;

Commit complete.

SQL> select * from test_t1;

C1
--------------------
m³

SQL> select property_value from database_properties where property_name='NLS_CHARACTERSET';

PROPERTY_VALUE
--------------------------------------------------------------------------------
AL32UTF8

SQL> 



關於Oracle 數據庫存儲數學符號的描述,見如下的mos文章:

NEED TO STORE GREEK, MATH SYMBOLS (Doc ID 1060862.6)

下面全文轉載該文章:

Problem Description:  
====================  
You would like to store extended Math symbols and the Greek letter Alpha in 
the database because your business application requires the presence of those 
symbols. You do not know which character set is on the database, but on the 
application your NLS_LANG is set to NLS_LANG=American_America.we8iso8859p1 or 
AMERICAN_AMERICA.WE8MSWIN1252.
  
Solution Summary:  
=================  
Your database was created with the wrong character set.  Recreate the database 
with the correct character set. 
 
Choice of correct character sets: 
   EL8ISO8859P7 
   UTF8 
   Al32UTF8
 
Solution Description:  
=====================  
To find which character set is on the database level, connect internal or as 
DBA and run the following query: 
 
    SVRMGR> select * from nls_database_parameters; 
 
You probably do not have EL8ISO8859P7, UTF8 or the AL32UTF8 character set 
listed for the NLS_CHARACTERSET parameter. 
 
Other character sets do not contain Greek letters or extended Math symbols.  
The character set that does is EL8ISO8859P7 or a UNICODE as character set, see:
Note:260893.1 Unicode character sets in the Oracle database
 
Solution Explanation:  
=====================  
All character data in an Oracle database is stored using a single character 
encoding scheme (character set). The database encoding scheme does not have 
to be the same as that used by an application to access database data.  
Although, the character set on the database level determines the choice of 
characters that can be stored. The database character encoding scheme is 
specified when the database is created, before it contains any data, by the 
CREATE DATABASE statement. The client-side encoding scheme is specified by 
defining the NLS_LANG parameter for a session. Once CREATE'd, a database 
encoding scheme cannot be changed without re-creating the database.


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved