用asp连接oracle数据库时出现乱码,在sql plus里面则显示正常用两种连接方式,都出现乱码。代码如下:
<%StrSQL="Provider=OraOLEDB.Oracle.1;Password=manager;Persist Security Info=True;User ID=system;Data Source=yck"set conn=server.createobject("ADODB.CONNECTION")
conn.open StrSQL
Set rs= Server.CreateObject("ADODB.RecordSet")
rs.open "select * from test",conn,1,1
text=rs.fields("xm")
Response.write Text 
%>
表结构
名称                                      是否为空? 类型
----------------------------------------- -------- ----------------------------
ID                                        NOT NULL VARCHAR2(10)
XM                                                 VARCHAR2(10)
SEX                                                VARCHAR2(10)
CX                                                 VARCHAR2(10)
ZJHM                                               VARCHAR2(10)
在sql*plus中显示的结果
ID         XM         SEX        CX         ZJHM
---------- ---------- ---------- ---------- ----------
123        yu         2          c          134343
在asp运行之后无论显示哪个字段,网页上显示的结果都是乱码。
请各位大侠帮忙啊。

解决方案 »

  1.   

    显示id的时候只是显示一个“1”显示zjhm的时候显示是空的,显示其他三项都是乱码。
      

  2.   

    VARCHAR2(10) 
    改成
    NVARCHAR2(10) 
    试试看
      

  3.   

    改成NVARCHAR2(10) 还是不行啊,在sqlplus中显示正常啊,只是在网页上显示的时候就乱码了。
      

  4.   

    两个的字符集是否一致啊,
    看看你本地Oracle客户端使用的是什么字符集.
    如果两个不一致,可能会有乱码.
      

  5.   

    本地的是这个下面的:
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG
    看看和你数据库里面的是否一致,改成一致的看看
      

  6.   

    现在注册表中的值是“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”
      

  7.   

    网页中字符设置
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head>
      

  8.   

    select * from V$NLS_PARAMETERS  
    看看你数据库的字符集!
    参考这篇文章:
    http://fanqiang.chinaunix.net/db/oracle/2001-04-16/1166.shtml
      

  9.   

    PARAMETER
    ---------------------
    VALUE
    ---------------------
    NLS_DATE_FORMAT
    DD-MON-RRNLS_DATE_LANGUAGE
    SIMPLIFIED CHINESENLS_CHARACTERSET
    ZHS16GBK
      

  10.   


    将网页编码方式改为utf-8试试,看看还乱不乱。。
      

  11.   

    重新建了一个表,就没有乱码了,不知道是啥原因!但是这个新建的表在sqlplus中插入数据之后只能在sqlplus中查到,在web下查不到,但是在web下用语句插入记录之后就可以查到。是怎么回事呢?
      

  12.   

    本人初学oracle所以很多地方都不明白,现在重新建表之后可以操作了,sqlplus插入记录之后没有提交,所以在程序中没有查到,这是犯了一个很弱智的错误。感谢大家的关注和支持,结贴了,有问题的时候再麻烦大家。