我需要測試我的應用程序是否正在從數據庫讀取特殊字符並以完全相同的方式顯示它們。爲此,我需要用所有可用的特殊字符填充數據庫表。但是,我不知道如何在SQL插入查詢中指定特殊字符。任何人都可以請我引導一個例子,我可以在查詢中插入一個特殊字符?爲了簡單起見,假設表格是City表格,Area和Avg_Temperature是2列。如果我需要在Avg_Temperature列中插入度(celcius/farhenheit)符號,應該如何編寫查詢?在Oracle表中輸入特殊字符失敗
* * [下午2:50美國東部時間2012/1/9編輯]按以下賈斯汀洞的建議,我也如下分析:
表:create table city(area number, avg_temperature nvarchar2(10));
日期: insert into city values (1100, '10◦C');
Query:
select dump(avg_temperature, 1010) from city where area = 1100;
O/P
DUMP(AVG_TEMPERATURE,1010)
----------------------------------------------------------
Typ=1 Len=8 CharacterSet=AL16UTF16: 0,49,0,48,0,191,0,67
Query
select value$ from sys.props$ where name='NLS_CHARACTERSET';
O/P
VALUE$
----------------
WE8MSWIN1252
Query:
select value$ from sys.props$ where name='NLS_NCHAR_CHARACTERSET';
O/P
----------------
AL16UTF16
似乎插入確實亂了特殊字符,如賈斯汀洞suggeste d。但我無法理解爲什麼會發生這種情況?任何人都可以提供相關建議嗎?
什麼是數據庫字符集?什麼是國家字符集?你是否將數據加載到VARCHAR2列中?或者一個NVARCHAR2列?該字符是否存在於數據庫字符集中? – 2012-01-09 21:30:11
@JustinCave:數據庫字符集:WE8MSWIN1252;國家CS:AL16UTF16。我會將數據加載到NVARCHAR2中。我不確定該字符是否存在於字符集中!我被告知在現有的數據庫中構建applcn,所以我想確保我不會遇到這些問題。你能指導我在哪裏我可以找到上面提到的字符集的允許字符 – 2012-01-09 21:38:45
@ darkie15:當使用包含幾乎所有人類已知的字符的UTF16時,你應該沒有問題。真正的問題是從客戶端到服務器的傳輸(以及所有中間步驟,如導入文件,網頁,電子郵件等)。 – 2012-01-09 21:50:57