手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

Linux下Oracle數據庫中文亂碼解決

2018-02-11 23:27:50 8890

1.Oracle數據庫出現亂碼的原因:
操作系統與服務器一致,但客戶端與服務器字符集不一致
客戶端與服務器一致,但操作系統與服務器不一致
2.解決辦法:
設置相關的字符集,保證操作系統、客戶端、數據庫服務器,保證這三者的字符集都相同。
3.針對情況:
設置客戶端的字符集與服務器一致,假如服務器的字符集為:UTF8(建議創建數據庫的時候用這個字符集,中英文都能兼容)

1)查看操作系統字符集

# locale LANG=zh_CN.UTF-8 LC_CTYPE="zh_CN.UTF-8" LC_NUMERIC="zh_CN.UTF-8" LC_TIME="zh_CN.UTF-8" LC_COLLATE="zh_CN.UTF-8" LC_MONETARY="zh_CN.UTF-8" LC_MESSAGES="zh_CN.UTF-8" LC_PAPER="zh_CN.UTF-8" LC_NAME="zh_CN.UTF-8" LC_ADDRESS="zh_CN.UTF-8" LC_TELEPHONE="zh_CN.UTF-8" LC_MEASUREMENT="zh_CN.UTF-8" LC_IDENTIFICATION="zh_CN.UTF-8" LC_ALL=

查看默認是zh_CN.UTF-8,rhel7配置文件是locale.conf

# vi /etc/locale.conf LANG="zh_CN.UTF-8"

2)查看數據庫字符集
$ su - oracle

SQL> select userenv('language') from dual; USERENV('LANGUAGE') ---------------------------------------------------- AMERICAN_AMERICA.AL32UTF8

3)編輯linux 的NLS_LANG變量

$ vi .bash_profile  # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then         . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH export ORACLE_BASE=/u01/app/oracle  export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=$ORACLE_HOME/bin:$PATH  export LD_LIBRARY_PATH=$ORACLE_HOME/lib.UTF-8; export LANG #NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'; export NLS_LANG NLS_LANG='AMERICAN_AMERICA.AL32UTF8'; export NLS_LANG

3)oracle用戶下,臨時修改環境變量為en_US.UTF-8

$ su - oracle  $ export.UTF-8 $ env |grep LANG NLS_LANG=AMERICAN_AMERICA.AL32UTF8.UTF-8

注意:客戶端的字符集和oracle 數據庫的字符集保持一致。

通過sqlplus驗證:

SQL> select USERNAME,ACCOUNT from AP_INTE_USR;     USERNAME               ACCOUNT  ----------------------        -------------------------- app應用                        test_app 應用                              testyin


提交成功!非常感謝您的反饋,我們會繼續努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: