打开pl/sql developer出现NLS_LANG和字符集(Character set)问题
公司最近培训pl/sql,我安装完毕后打开,遇到如图问题。![打开pl/sql developer出现NLS_LANG和字符集(Character set)问题 打开pl/sql developer出现NLS_LANG和字符集(Character set)问题](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwybHRaeTVpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVFV3T1RBME1Ea3pPRFF3TVRnNVAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRpOW1iMjUwTHpWaE5rdzFUREpVTDJadmJuUnphWHBsTHpRd01DOW1hV3hzTDBrd1NrSlJhMFpEVFVFOVBTOWthWE56YjJ4MlpTODNNQzluY21GMmFYUjVMMU52ZFhSb1JXRnpkQT09.jpg?w=700&webp=1)
PS:我的操作系统是英文的。 这是因为系统没有设置NLS_LANG系统变量。有两种方式查看。 1. 查看电脑属性。
![打开pl/sql developer出现NLS_LANG和字符集(Character set)问题 打开pl/sql developer出现NLS_LANG和字符集(Character set)问题](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwybHRaeTVpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVFV3T1RBME1EazBORE14TlRreFAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRpOW1iMjUwTHpWaE5rdzFUREpVTDJadmJuUnphWHBsTHpRd01DOW1hV3hzTDBrd1NrSlJhMFpEVFVFOVBTOWthWE56YjJ4MlpTODNNQzluY21GMmFYUjVMMU52ZFhSb1JXRnpkQT09.jpg?w=700&webp=1)
2. 命令行查看。
![打开pl/sql developer出现NLS_LANG和字符集(Character set)问题 打开pl/sql developer出现NLS_LANG和字符集(Character set)问题](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwybHRaeTVpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVFV3T1RBME1EazBPRFV6TlRJM1AzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRpOW1iMjUwTHpWaE5rdzFUREpVTDJadmJuUnphWHBsTHpRd01DOW1hV3hzTDBrd1NrSlJhMFpEVFVFOVBTOWthWE56YjJ4MlpTODNNQzluY21GMmFYUjVMMU52ZFhSb1JXRnpkQT09.jpg?w=700&webp=1)
PS:这里我已经设置过了,所以仅仅是作个示意。 如果遇到如下图中的问题,说明客户端字符集与Oracle数据库的字符集不同。
![打开pl/sql developer出现NLS_LANG和字符集(Character set)问题 打开pl/sql developer出现NLS_LANG和字符集(Character set)问题](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwybHRaeTVpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVFV3T1RBME1UQTBORFU1TXpZNFAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRpOW1iMjUwTHpWaE5rdzFUREpVTDJadmJuUnphWHBsTHpRd01DOW1hV3hzTDBrd1NrSlJhMFpEVFVFOVBTOWthWE56YjJ4MlpTODNNQzluY21GMmFYUjVMMU52ZFhSb1JXRnpkQT09.jpg?w=700&webp=1)
查看数据库的字符集的方法:
![打开pl/sql developer出现NLS_LANG和字符集(Character set)问题 打开pl/sql developer出现NLS_LANG和字符集(Character set)问题](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0RvdkwybHRaeTVpYkc5bkxtTnpaRzR1Ym1WMEx6SXdNVFV3T1RBME1UQTBOakEyTWpJMFAzZGhkR1Z5YldGeWF5OHlMM1JsZUhRdllVaFNNR05FYjNaTU1rcHpZakpqZFZrelRtdGlhVFYxV2xoUmRpOW1iMjUwTHpWaE5rdzFUREpVTDJadmJuUnphWHBsTHpRd01DOW1hV3hzTDBrd1NrSlJhMFpEVFVFOVBTOWthWE56YjJ4MlpTODNNQzluY21GMmFYUjVMMU52ZFhSb1JXRnpkQT09.jpg?w=700&webp=1)
对方的pl/sql语句是:
Select * from V$NLS_PARAMETERS where PARAMETER='NLS_CHARACTERSET';Select USERENV('LANGUAGE') from DUAL;将NLS_LANG的值改为所查到的SIMPLIFIED CHINESE_CHINA.UTF8即可。 PS:我们简介一下字符集的含义。以SIMPLIFIED CHINESE_CHINA.UTF8为例。
- SIMPLIFIED CHINESE为语言(简体中文);
- CHINA为国家(中国);
- UTF8为字符编码;