O插入中文,查询乱码?靠贝了

1、情况描述

        安装的oracle数据库,新建了一张表,插入一条中文数据乱码了

        在linux服务器上查询乱码

中文乱码,这个时候插入中文数据,也会引起ORA-12899的错误哦

ERROR at line 1:
ORA-12899: value too large for column "OATUSER"."TEST"."NM" (actual: 18, maximum: 10)

2、修改环境变量

#sqlplus 连接查询言语言
select userenv('LANGUAGE') From Dual;

USERENV('LANGUAGE')
--------------------------------------------------------------------------------
AMERICAN_AMERICA.AL32UTF8


#增加NLS_LANG环境变量
echo 'export NLS_LANG="AMERICAN_AMERICA.UTF8"'>>/etc/profile
#生效
source /etc/profile

        修改完后切换oralce用户再次查询 中文不再乱码

O插入中文,查询乱码?靠贝了_第1张图片

        如果是window客户端,那么同样在winodws上增加环境变量NLS_LANG 

        这里补充一行,日期显示按照常见的yyyy-mm-dd 这种形式来,这样查询出来的数据就方便阅读了;乱码问题解决了在插入数据就不会报错 ora12899了

------oralce用户环境变量
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_DATE_FORMAT

O插入中文,查询乱码?靠贝了_第2张图片

你可能感兴趣的:(常见错误,Oracle,oracle,数据库)