永发信息网

php+Oracle中文乱码。PHP是utf8环境,Oracle字符集是US7ASCII。用PHP已配置连接

答案:2  悬赏:70  手机版
解决时间 2021-01-29 22:59
php+Oracle中文乱码。PHP是utf8环境,Oracle字符集是US7ASCII。用PHP已配置连接到数据库,提取的数据中文乱码,试了很多办法都不行,请大神指点。跪谢
最佳答案
首先了解什么是外部表,与其它表的区别,建立一个简单的外部表(主要看操作过程),最后我们用外部表查看ORACLE报警日志
  1.了解oracle外部表
  外部表定义:结构被存放在数据字典,而表数据被放在OS文件中的表
  作用:在数据库中查询OS文件的数据,还可以将OS文件数据装载到数据库中
  与其它表的区别:在外部表上不能执行DML操作,也不能在外部表上建索引,只能执行select操用
  2.建一个简单的外部表1.建一个OS上的文件
  因为外部表主要是查看OS上的文件,首先在OS上建一个文件
  mkdir -p /oracle/ext
  vi /oracle/ext/ext.dat
  10,20,30
  40,50,60
  70,80,90
  2.授予用户权限,并建立目录对象
  在此我们先建一个新用户
  create user test identified by “123” default tablespace test quota unlimited on test;
  用户授权
  SQL> grant create any directory to test;
  建立目录对象
  SQL> conn test / 123
  Connected.
  SQL> create directory ext as '/oracle/ext';
  Directory created.
  3.建立外部表
  SQL> create table exttable(
  id number,name varchar2(10),i number
  )organization external
  (type oracle_loader
  default directory ext
  access parameters
  (records delimited by newline
  fields terminated by ','
  )location('ext.dat')
  );
  4.测试
  SQL> select * from exttable;
  ID NAME                I
  ---------- ---------- ----------
  10 20                 30
  40 50                 60
  70 80                 90
  测试成功,可见在数据库中可以查询OS文件的数据
  2. 使用外部表查看oracle报警日志
  由于在上面实验中已建立了一个用户,并赋相应的权限,而且也有了OS文件(即报警文件alert_SID.log),所以在此直接建立目录对象并建立外部表就可以了。
  1.建立目录对象
  SQL> conn test / 123
  Connected.
  SQL> create directory bdump as '/oracle/u01/app/oracle/admin/db2/bdump';
  Directory created.
  2.建立外部表
  SQL> create table alert_log(
  text varchar2(400)
  )organization external
  (type oracle_loader
  default directory bdump
  access parameters
  (records delimited by newline
  )location('alert_db2.log')
  );
  3.测试
  首先查看能否查到alert_db2.log的内容
  SQL> select * from alert_log where rownum < 10;
  TEXT
  --------------------------------------------------------------------------------
  Thu Jun 11 00:51:46 2009
  Starting ORACLE instance (normal)
  Cannot determine all dependent dynamic libraries for /proc/self/exe
  Unable to find dynamic library libocr10.so in search paths
  RPATH = /ade/aime1_build2101/oracle/has/lib/:/ade/aime1_build2101/oracle/lib/:/a
  de/aime1_build2101/oracle/has/lib/:
  LD_LIBRARY_PATH is not set!
  The default library directories are /lib and /usr/lib
  Unable to find dynamic library libocrb10.so in search paths
  Unable to find dynamic library libocrutl10.so in search paths
  9 rows selected.
  测试成功
  然后我们测试查报警信息’ORA-%’
  SQL> select * from alert_log where text like 'ORA-%';
  TEXT
  --------------------------------------------------------------------------------
  ORA-00202: control file: '/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2
  .dbf'
  ORA-27037: unable to obtain file status
  ORA-205 signalled during: ALTER DATABASE   MOUNT…
  ORA-00301: error in adding log file '/home/oracle/oracle/oradata/testdb/redo01.l
  og' - file cannot be created
  ORA-27040: file create error
  ORA-1501 signalled during: CREATE DATABASE db2
  ORA-00200: control file could not be created
  TEXT
  --------------------------------------------------------------------------------
  ORA-00202: control file: '/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2
  .dbf'
  ORA-27038: created file already exists
  ORA-1501 signalled during: CREATE DATABASE db2
  ORA-00200: control file could not be created
  ORA-00202: control file: '/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2
  .dbf'
  ORA-27038: created file already exists
  ORA-1501 signalled during: CREATE DATABASE db2
  测试成功,
  可见我们可以使用外部表来方便的查看ORACLE的报警信息
全部回答
修改oracle客户端语言: hkey_local_machine\software\oracle\key_oraclient11g_home1下的nls_lang为simplified chinese_china.zhs16gbk simplified chinese_china.zhs16gbk 为你的 us7ascii
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
大豆油40升有多少斤
填料的意思是什么啊?知道的请说下!
湖南岳阳超载罚款在那个银行交
银行里之前有贷款还没还上,可以再贷款买房吗?
何新希腊伪史批判:希腊文明的真正来源
韩莱专业永久脱毛连锁(罗湖店)地址在什么地方
手竿第5、6节卡住了,怎么也收不回来,请问怎
想知道尼康D90和D7000的区别
广告公司文员工作职责有哪些?
扑剌的意思是什么啊?知道的请说下!
DreamySkin韩系君美皮肤管理中心(前海店)怎么
生物上遗传学部分的3:3:1:孟德尔那边一块的知
欲望总是在贪婪中销声匿迹什么意思
J-Beauty皮肤管理半永久美睫中心怎么去啊,我
幻怪的意思是什么啊?知道的请说下!
推荐资讯
尚诚眼镜地址在哪,我要去那里办事
2013年3月28号上午11点50分出生的小孩命中缺
松下lumix gf2 的C-14mm F2.5和K-14-42mm镜头
瑾皓流量速充(银河南路)地址在哪,我要去那里
我的快递物流老不更新,我担心我收不到货?会
妇容的意思是什么啊?知道的请说下!
属虎狮子座男生
开封特产白记荟萃斋地址在什么地方,想过去办
若水艺术培训中心一分校地址在什么地方,想过
ipad5是不是可以连接wifi,还可以用流量
邮政国内小包四川到重庆大概要多久?
食堂禁止打包委婉的说法
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?