oracleplsql中用sql語句新增資料中文出現亂碼

2021-12-25 10:00:02 字數 2839 閱讀 1685

1樓:匿名使用者

說明資料庫不支援中文,修改為gbk或者utf-8就可以了。

alter system disable restricted session;改完編碼後執行

sql> conn / as sysdba;

sql> shutdown immediate;

database closed.

database dismounted.

oracle instance shut down.

sql> startup mount;

oracle instance started.

total system global area  135337420 bytes

fixed size                          452044 bytes

variable size                     109051904 bytes

database buffers              25165824 bytes

redo buffers                      667648 bytes

database mounted.

sql> alter system enable restricted session;

system altered.

sql> alter system set job_queue_processes=0;

system altered.

sql> alter system set aq_tm_processes=0;

system altered.

sql> alter database open;

database altered.

sql> alter database character set internal_use utf-8;

sql> shutdown immediate;

sql> startup;

檢視資料庫編碼格式:select userenv('language') from dual;

如果資料庫格式支援中文,那麼就要看下執行的sql是不是本身就有亂碼了。

2樓:

不加n?

insert into table

values(.....,n'中文',...)這種模式,而且列必須為nvarchar格式才能儲存中文不亂碼

3樓:匿名使用者

用這個查詢oracle的編碼型別,看與你插入的是否一致

select * from nls_database_parameters where parameter ='nls_characterset';

4樓:匿名使用者

資料庫設定的編碼有問題

oracle 用sqlplus連線的時候中文出現亂碼

5樓:匿名使用者

可以用toad for oracle 9.6.1這個工具去檢視下表裡面的資料是否就是亂碼,如果是亂碼在手動插入一條資料看是否是亂碼,如果是這樣的話就是本身資料庫字符集編碼不支援中文,

你可以sqlplus 後,select userenv('language') from dual 執行這條sql語句,檢視字符集編碼是不是zhs16gbk ,該編碼支援中文,若不是該編碼就要調整oracle字符集編碼了。

6樓:匿名使用者

這個建議還是通過以下方式排查下問題原因,之後進行解決:

第一步:檢視 nls_lang 的方法

echo %nls_lang%

如:e:\>echo %nls_lang%

american_america.zhs16gbk

第二步:檢視資料庫當前字符集引數設定

select * from v$nls_parameters;

或select * from nls_database_parameters

或select userenv(『language』) from dual;

第三步: 檢視資料庫可用字符集引數設定

select * from v$nls_valid_values;

第四步: 客戶端 nls_lang 的設定方法

# 常用中文字符集

set nls_lang=simplified chinese_china.zhs16gbk

# 常用unicode字符集

set nls_lang=american_america.al32utf8

用pl/sql在oracle表中新增資料,檢視的時候,所有中文都變成問號了, 求解決方法

7樓:匿名使用者

所有的以n為字首的資料型別都是unicode編碼。。。你需要轉換下

8樓:

那說明你的中文中包含一些特殊字元,在varchar\char狀態是不新增這些資料的,所以亂碼了

9樓:風語者

客戶端字符集和資料庫端不一致

改客戶端登錄檔oracle 項下的nls_lang=american_america.us7ascii

10樓:

pl/sql工具的配置中好像有字符集的選項,直接修改就可以了

不用oracle好多年

11樓:

可與肯定是你資料庫裡的字符集不支援中文的問題。

1:檢視你oracle伺服器端的字符集

2:修改oracle字符集為gbk或者gb2312或utf8!

WOW戰士如何打贏SQ噢

這兩個職業pk的確有點難度,而且還有時間問題,我有個qs和乙個lm的zspk我們居然打了45分鐘都沒分出勝負,qs無敵了繃帶,zs恐嚇了又是繃帶,哎,鬱悶啊 這裡我覺得他們2個pk還是要靠自己的意識和微操了,在同等級同裝備的情況下,他們實在是太難分出勝負了 qs前期很強的.我以前玩qs的時候,30多...

東西湖郵局郵寄包裹號 SQ80551059442到哪了

1全部sq80551059442 2011 09 19 16 00 00 當前處理 已簽收 處理機構 望城縣望城坡支局 處理時間 處理單位 郵件狀態 2011 09 15 14 12 47 武漢函件 交寄 寄達地 湖南省長沙市岳麓區 2011 09 17 03 30 00 長沙市 到達處理中心201...

閥門SQ71F16R代表什麼意思

s表示縮徑 我認為 q是球閥的代號 7是對夾連線形式代號 1是浮動球直通流道式代號 f表示閥門密封面材料是氟塑料 16是公稱壓力 1.6mpa r表示閥體材料代號是鉻鎳鉬系不鏽鋼.另,有關閥門型號的編制方法,可查閱jb t308 2004標準。閥門上標識bj41w 16rl 50 r p pl分別代...