从数据库中取出的中文为啥是问号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从数据库中取出的中文为啥是问号相关的知识,希望对你有一定的参考价值。

参考技术A 编码问题,你可以打开数据库看一下字段中的中文是否正常,如果是正常的可以不用管数据库中编码,只是在添加或读取数据库中的数据时要进行字符的编码转换处理就可以了 参考技术B 编码 错误 看看 是 gbk 还是 utf-8 的

oracle 为啥汉字变成了问号,怎么改,如下图

参考技术A 数据库字符集设置不对,修改下就好了。
1、先用system和密码登陆SQLPLUS(如果不能直接以sys登陆到sqlplus的话),进入到sql*plus之后,可以通过conn / as sysdba转变为sysdba身份连接到数据库
2、开始修改编码
shutdown immediate;停止oracle服务以及监听。如果服务停止,这部可省略
startup mount;
alter system enable restricted session;
alter system set job_queue_processes=0;初始化设置job
alter database open;
alter database character set internal_use utf8;设置编码 (alter database character set internal_use ZHS16GBK;)(alter database character set internal_use WE8ISO8859P1;)
shutdown immediate; 关闭
startup; 重启
至此编码已经设置完成。追问

表示没有成功啊 >.<

追答

alter database character set internal_use utf8;设置编码 (alter database character set internal_use ZHS16GBK;)(alter database character set internal_use WE8ISO8859P1;)这条是多个选项,选用一个适合你的编码就好,你用的那个编码啊?

追问

追答

你客户端用的是SSH?用PLSQL执行一下没问题就对了,其他FTP工具,他们有自己的编码方式,搞不了的。

本回答被提问者和网友采纳
参考技术B 应该是编码问题。百度一下oracle修改编码。

以上是关于从数据库中取出的中文为啥是问号的主要内容,如果未能解决你的问题,请参考以下文章

为啥MySql的表记录中有些中文显示问号

为啥我的VS2010数据库输入的中文显示问号是怎么回事啊

oracle 为啥汉字变成了问号,怎么改,如下图

我做的网页为啥上面是问号?

关于后台数据库正常存储中文通过Ajax方式传递到前台变成问号的处理

为啥python3编了一个文件比对程序运行结果出来以后中文变成问号了.哪里的问题求大神?