当前位置: 首页>数据库>正文

mysql客户端字符集与服务器字符集不匹配 数据库客户端字符集

一、oracle数据库的字符集

1、数据库字符集、会话字符集、客户端字符集等概念

NLS_DATABASE_PARAMETERS lists permanent NLS parameters of the database.  ##数据库字符集,创建数据库时指定的,不建议做修改
V$NLS_PARAMETERS contains current values of NLS parameters.  ##当前会话字符集

1.1、数据库字符集

数据库字符集概念:数据库字符集包括两个字符集:数据库字符集、国家字符集,都是在创建数据库的时候指定

查看数据库字符集:

mysql客户端字符集与服务器字符集不匹配 数据库客户端字符集,mysql客户端字符集与服务器字符集不匹配 数据库客户端字符集_数据库,第1张

1.2、会话字符集

会话字符集概念:当前会话的字符集,sqlplus会读取os环境变量nls_lang的值,因此受客户端nls_lang的控制,所以没有特殊设置,将与nls_instance_parameters一致。可通过环境变量或alter session进行修改

mysql客户端字符集与服务器字符集不匹配 数据库客户端字符集,mysql客户端字符集与服务器字符集不匹配 数据库客户端字符集_oracle_02,第2张

1.3、客户端字符集

客户端字符集概念:NLS_LANG 参数定义客户端的字符编码方案。

在客户端,通过设置环境变量来定义客户端的字符集。该环境变量为如下定义:NLS_LANG=<language>_<territory>.<client character set>

<language>:用来显示Oracle消息、年月的名称(例如12月是应该显示“Dec”还是“12月”)以及默认的排序机制,对应服务器的初始化参数为NLS_LANGUAGE

<territory>:用来显示默认的日期格式、数字格式、以及货币格式等,对应服务器的初始化参数为NLS_TERRITORY。

<client character set>:客户端使用的字符集

mysql客户端字符集与服务器字符集不匹配 数据库客户端字符集,mysql客户端字符集与服务器字符集不匹配 数据库客户端字符集_oracle_03,第3张

mysql客户端字符集与服务器字符集不匹配 数据库客户端字符集,mysql客户端字符集与服务器字符集不匹配 数据库客户端字符集_oracle_04,第4张

2、如何设置正确实用的字符集?

不同的客户机可以使用不同的编码方案。客户机与服务器之间传递的数据可以在两种编码方案之间自动转换。数据库的编码方案应该是所有客户机编码方案的超集,或者与所有客户机编码方案等同。

3、修改nls_lang,从而显示中文的oracle消息

3.1、改变nls_lang的值之后,登录时,就会显示中文的日期

mysql客户端字符集与服务器字符集不匹配 数据库客户端字符集,mysql客户端字符集与服务器字符集不匹配 数据库客户端字符集_数据库_05,第5张

会话的nls_language等会立刻发生变化,但是nls_instance_parameter的lang_language没有发生变化

mysql客户端字符集与服务器字符集不匹配 数据库客户端字符集,mysql客户端字符集与服务器字符集不匹配 数据库客户端字符集_字符集_06,第6张

重启数据库,nls_instance_parameter的值仍然没有改变


SQL> startup open;
ORACLE 例程已经启动。

Total System Global Area  534462464 bytes 
 
 Fixed Size                  2215064 bytes 
 
 Variable Size             247464808 bytes 
 
 Database Buffers          276824064 bytes 
 
 Redo Buffers                7958528 bytes


数据库装载完毕。
数据库已经打开。

SQL> select * from nls_instance_parameters where parameter in('NLS_CHARACTERSET', 'NLS_LANGUAGE', 'NLS_TERRITORY'); 

 

  PARAMETER 
 
 ------------------------------------------------------------ 
 
 VALUE 
 
 -------------------------------------------------------------------------------- 
 
 NLS_LANGUAGE 
 
 AMERICAN 
 

  NLS_TERRITORY 
 
 AMERICA


https://www.xamrdz.com/database/6y71934696.html

相关文章: