用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运行之后无论显示哪个字段,网页上显示的结果都是乱码。
请各位大侠帮忙啊。
<%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运行之后无论显示哪个字段,网页上显示的结果都是乱码。
请各位大侠帮忙啊。
改成
NVARCHAR2(10)
试试看
看看你本地Oracle客户端使用的是什么字符集.
如果两个不一致,可能会有乱码.
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG
看看和你数据库里面的是否一致,改成一致的看看
<%@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>
看看你数据库的字符集!
参考这篇文章:
http://fanqiang.chinaunix.net/db/oracle/2001-04-16/1166.shtml
---------------------
VALUE
---------------------
NLS_DATE_FORMAT
DD-MON-RRNLS_DATE_LANGUAGE
SIMPLIFIED CHINESENLS_CHARACTERSET
ZHS16GBK
将网页编码方式改为utf-8试试,看看还乱不乱。。