oracle 插入中文查询显示乱码,问号是什么原因

oracle 插入中文查询显示乱码,问号是什么原因,第1张

你好,大多数都是字符集不一致导致的乱码问题。对于出现乱码或问号等不正常显示问题,根据数据库字符集,正确配置参数NLS_LANG,一般可以解决,如果仍出现乱码,则可能和所使用的工具的字体编码设置有关。

那么解决出现的乱码时应该依次检查:查看数据库和客户端字符集,主要设置NLS_LANG;查看系统语言设置LANG参数;查看所用终端、工具字体编码设置。

针对所出现的问题,查看plsql的字体编码为GB2312,CRT的字体编码是UTF-8,修改为GB2312,centos终端修改-终端设置-字符编码修改,乱码问题解决。

说明数据库不支持中文,修改为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是不是本身就有乱码了。

您好,提问者:

    1、首先,Oracle查询编码:select from v$nls_parameters;//看看是否GBK

2、如果是用Servlet或者别的,插入数据之前输出一下,看看是否乱码。

比如:

doPost()

    //设置接受编码,但你的页面也必须是UTF-8

    responsesetContentType("text/html;charset=UTF-8");

doGet()

    //下面方式转一下码

    String username = new String(requestgetParameter("username")getBytes("ISO-8859-1"),"UTF-8");

以上就是关于oracle 插入中文查询显示乱码,问号是什么原因全部的内容,包括:oracle 插入中文查询显示乱码,问号是什么原因、Oracle 11g中文乱码、从javaweb项目中向oracle插入数据出现中文乱码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9452774.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存