php 从oracle817读出的中文是乱码?这是什么,,需要配置什么环境变量吗?

hjh1203 2003-11-26 08:45:52
我以root启动apache,从oracle817读出的中文是乱码,但在数据库是正常的。

但在php中写的汉字,用echo 显示为正常,望手指点一下?
...全文
60 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
trip 2004-01-15
  • 打赏
  • 举报
回复
没错就是数据库字符设置不对,如果gbk不行的话,试试将数据库字符改成935,还不行就改字段的字符设置。
sunwatch 2004-01-15
  • 打赏
  • 举报
回复
数据库端的字符设置不对,把字符集设置成gbk应该就ok了
_pb_ 2003-12-01
  • 打赏
  • 举报
回复

页头这样写,你试试。

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
hjh1203 2003-11-27
  • 打赏
  • 举报
回复
大家都不知道吗?
hjh1203 2003-11-27
  • 打赏
  • 举报
回复
原码。。。。。。。。

<?php
putenv("ORACLE_SID=test");
putenv("ORACLE_HOME=/u04/app/oracle/product/8.1.7");
//putenv("NLS_LANG=AMERICAN_AMERICA.ZHS16GBK");
//putenv("LD_LIBRARY_PATH=/u04/app/oracle/product/8.1.7/lib");
//putenv("ORA_NLS33=/u04/app/oracle/product/8.1.7/ocommon/nls/admin/data");
echo "这不是乱码吧!";
//这个显示正常
if (empty($offset) || $offset < 0) {
$offset=0;
}
$limit = 3;
$db = "test";
$conn=ocilogon("test","test",$db);
if (!$conn) {
echo "<h1>ERROR - Could not connect to Oracle</h1>";
exit;
}
$sql = "Select * from cd";
$stmt = OCIParse($conn,$sql);
if(!$stmt) {
echo "<h1>ERROR - Could not parse SQL statement.</h1>";
exit;
}
OCIExecute($stmt);
$i=0;
$j=0;
while( OCIFetchInto($stmt, &$result_array) ) {
if ($i>=$offset) {
if ($j <$limit) {
for ($k=0; $k<=count($result_array); $k++) {
echo $result_array[$k]." ";
}
echo "
";
$j++;
}
}
$i++;
}
echo "
";



?>
hjh1203 2003-11-27
  • 打赏
  • 举报
回复
大家请指点一下吧,,

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧