我还是觉得是字符集的问题,你确认客户端字符集调对了吗1 有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种SQL select userenv#39language#39 from dualUSERENV#39LANGUAGE#39SIMPLIFIED CHINESE_CHINAZHS16GBK SQLselect userenv‘language’ from dualAMERICAN;字符集的问题 如果是应用应用服务器连接的数据库,查看和修改应用服务器的字符集与oracle数据库字符集是否一致如果是通过oracle客户端包括plsql developer 等连接的数据库,查看和修改该客户端使用的oraclehome的字符集设置,一般在注册表中具体根据使用的oracle客户端查找。
客户端字符集可通过`NLS_LANG`环境变量进行调整在遇到中文注释乱码问题时,应将导入客户端字符集设置为与数据库实例字符集相匹配的`ZHS16GBK`例如bash SET LANG=cn_ZHUTF8 SET NLS_LANG=AMERICAN_AMERICAZHS16GBK export LANG=cn_ZHUTF8 export NLS_LANG=AMERICAN_AMERICAZHS16GBK nohup;这可能是因为字符集的差异造成的,毕竟Oracle 10g的版本比较旧了Oracle安装时根据环境变量中的 LANG 字符集设置,来确定安装界面的字符集简单的办法是使用英文字符集安装界面方法为 进入安装程序前,先执行 LANG=C 设置语言环境变量这样进入安装界面后,显示文字就变为英文了;oracle数据库查询时出现乱码,很可能是该数据库的字符集设定不支持中文,但是表中数据含有中文,所以变为乱码如果是字符集原因,解决方法如下1shutdown immediate 关闭数据库 2startup mount 开启数据库至挂载模式只挂实例,不启动数据库3alter system enable restricted session开启;如果还没安装客户端,那么在安装客户端时,指定与服务器相吻合的字符集即可如果已经安装好了客户端,并且客户端为 sql*net 20 以下版本,进入Windows的系统目录,编辑oracleini文件,用US7ASCII替换原字符集,重新启动计算机,设置生效否则,如果,客户端为 sql*net 20 以上版本,在Win98 下;在Redhat上安装Oracle10g没有设定字符集,采用的是操作系统默认字符集WE8ISO8859P1,将字符集修改为ZHS16GBK由于过程不可逆,首先需要备份数据库x0dx0a1数据库全备x0dx0ax0dx0a2查询当前字符集x0dx0aSQLselect*fromnls_database_parameterswhereparameter=#39NLS_。
Oracle 数据库处理中文数据时,乱码问题常见,源于默认字符集 US7ASCII 无法识别中文字符解决办法包括修改数据库客户端和应用字符集,或数据转换为正确集,以避免乱码需确保程序与数据库字符集一致,防止非法字符导致乱码,数据库字符集设置正确,以避免存储数据出现乱码创建数据表时,明确字符集设置至;system alteredsql alter database opendatabase alteredsql alter database character set internal_use UTF8sql shutdown immediatesql startup查看数据库编码格式select userenv#39language#39 from dual如果数据库格式支持中文,那么就要看下执行的sql是不是本身就有乱码了;Oracle数据库处理中文数据时出现乱码问题,这通常是由于默认字符集为US7ASCII,无法识别中文字符解决此问题需调整数据库客户端及应用程序的字符集,确保数据转换为正确字符集在数据库中,字符集不一致可能导致查询结果出现乱码例如,使用GB2312编码的程序查询UTF8编码的数据,就会出现乱码数据库内容;1首先在电脑上找到并打开PLSQL,弹出登陆界面,进去登陆2然后随便写了一个查询语句,发现显示有乱码3这时先查看oracle服务器端的字符编码是什么4配置一个环境变量就可以解决问题,这时回到电脑桌面,打开计算机属性5然后点击高级系统设置,接着在高级选项卡下点击环境变量选项6然后。
在Oracle数据库中出现中文乱码的情况,可能是因为以下几个方面字符集不匹配Oracle数据库默认使用的字符集为AL32UTF8,如果在创建数据库或者表时没有指定字符集或者指定了其他的字符集,则可能会出现乱码问题在创建表时,可以使用以下语句指定字符集CREATE TABLE table_name column_name1 data_type;有时候报错提示也出现乱码解决方法一临时解决方法 切换到Oracle用户,执行 export NLS_LANG=AMERICAN_AMERICAZHS16GBK 问题解决但这种方式只对本次会话有效二永久解决方法 修改profile文件vi etcprofile 在文件最后添加 export NLS_LANG=AMERICAN_AMERICAZHS16GBK 问题解决而且退出后。
数据库字符集和客户端字符集不一致导致乱码的先查一下服务器端的字符集select userenv#39language#39 from dual,再把客户端的字符集设置为一致的你要用sqlplus的话,先通过设置环境变量来定义客户端的字符集比如Dset NLS_LANG=AMERICAN_AMERICAZHS16GBK 再执行sqlplus命令,就可以了;这么清晰的友好的错误提示,你还不晓得操作啊按上面是两个两个处理方案,也确实就是两个处理方案方案1定义环境变量NLS_LANG,在系统的环境 变量里面加入变量名 NLS_LANG 内容为 ZHS16GBK 方案2打开注册表,在注册表里面定义,打开注册表到HKEY_LOCAL_MACHINE里面加注册信息,注册字符串。
标签: orcle客户端乱码
评论列表
我还是觉得是字符集的问题,你确认客户端字符集调对了吗1 有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种SQL select userenv#39language#39 f
数据库字符集和客户端字符集不一致导致乱码的先查一下服务器端的字符集select userenv#39language#39 from dual,再把客户端的字符集设置为一致的你要用sqlplus的话,先通过设置环境变量来定义客户端的字符集比如Dset NLS_LANG=AMERIC
下服务器端的字符集select userenv#39language#39 from dual,再把客户端的字符集设置为一致的你要用sqlplus的话,先通过设置环境变量来定义客户端的字符集比如Dset NLS_LANG=AME
l alter database character set internal_use UTF8sql shutdown immediatesql startup查看数据库编码格式select
,打开注册表到HKEY_LOCAL_MACHINE里面加注册信息,注册字符串。