oracle中文变问号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中文变问号相关的知识,希望对你有一定的参考价值。
有什么办法把问号变成中文
数据库字符集设置不对,修改下就好了。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; 重启
至此编码已经设置完成。 参考技术A 强行修改服务器端ORACLE当前字符集
在用imp命令加载数据前,先在客户端用sql*plus登录system DBA用户,执行下列SQL语句进行当前ORACLE数据库字符集修改:
SQL > create database character set US7ASCII
* create database character set US7ASCII
ERROR at line 1:
ORA-01031: insufficient privileges
你会发现语句执行过程中,出现上述错误提示信息,此时不用理会,实际上ORACLE数据库的字符集已被强行修改为US7ASCII,接着用imp命令装载数据。等数据装载完成以后,shutdown 数据库,再startup 数据库,用合法用户登录ORACLE数据库,在sql> 命令提示符下,运行select * from V$NLS_PARAMETERS,可以看到ORACLE数据库字符集已复原,这时再查看有汉字字符数据的表时,汉字已能被正确显示。
打字不易,如满意,望采纳。追问
这是复制的吧
参考技术B 在哪儿看到中文变成问号?是数据库中存储的已经是问号了,
还是在哪个工具中查询出来的是问号?追问
pl/SQL里面插入就是问号了
追答再详细一点吧?怎么插入就是问号?
数据库是什么字符集,客户端是什么字符集?
能远程么
追答你把问题描述清楚就行了。要学会提问。
追问NSL_LANG=AMERICAN_AMERICA.us7ascii这是我环境变量里面的,我往数据库里面插入中文的字符串,查询的时候显示问号
追答处理中文,怎么能用 us7ascii 呢
应该用utf-8 或者 GBK 之类的啊
数据的字符集呢?
一开始用的GBK,也是问号,然后网上看见改成us7ascii了
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
加下 qq 447340379
PLSQL中table表中的汉字显示问号,装了汉化包之后还是问号,不知道怎么解决
装的oracle客户端连接oracle数据库
你好,建议新建一个变量名NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK具体操作步骤:
我的电脑-右键-属性-高级-环境变量-系统变量-新建变量
变量名:NLS_LANG
变量值:AMERICAN_AMERICA.UTF8
如果想转换为UTF8字符集,可以赋予“NLS_LANG”为 “AMERICAN_AMERICA.UTF8”,然后重新启动 pl/sql developer。 参考技术A Tools->Preferences->Font->Grid->修改里面的字体为黑体(或其他汉字库),文字选简体中文。追问
不是这个原因,还是不行
追答你的系统是什么环境?
追问xp之前的win7也是这样,是不是要改系统的语言设置,这个是中文呀
以上是关于oracle中文变问号的主要内容,如果未能解决你的问题,请参考以下文章
linux下,oracle的视图中中文变问号了,描述有点长,请不吝赐教