上图access里的中文很清晰。没乱码的。就是读出来后显示乱码。 我直接用asp测试。也能正确显示。 下面是asp的代码: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <!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=utf-8" /> <title>无标题文档</title> </head><body> <% dim conn,connstr 'on error resume next connstr="DBQ="+server.mappath("hndb.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" Set conn=Server.CreateObject("ADODB.CONNECTION") conn.open connstrSet rs=Server.CreateObject("ADODB.RecordSet") sql="select * from news where id=20 order by id desc" rs.Open sql,conn,1,1 if rs.eof and rs.bof then response.Write("没有记录") else response.Write( "有记录" ) end if %> <% = rs("content") %> </body> </html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript" src="../xheditor-1.2.1/jquery/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="../xheditor-1.2.1/xheditor-1.2.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="../xheditor-1.2.1/xheditor_lang/zh-cn.js"></script>
<script type="text/jscript">
$(pageInit);
function pageInit()
{
//$.extend(XHEDITOR.settings,{shortcuts:{'ctrl+enter':submitForm}});
$('#text_content').xheditor({upLinkUrl:"upload.php",upLinkExt:"zip,rar,txt",upImgUrl:"upload.php",upImgExt:"jpg,jpeg,gif,png",upFlashUrl:"upload.php",upFlashExt:"swf",upMediaUrl:"upload.php",upMediaExt:"wmv,avi,wma,mp3,mid"});
}
</script><style type="text/css" >
body{ font-size:12px; }
.mytable{
border-collapse:collapse;
}
.mytable td {
border:1px solid black;
padding:3px 3px 3px 3px;
}
</style>
</head>
<body>
<?php
include '../dbclass/dbclass.php';
$access = new access_db("hndb.#db");
$edt_id = -1;
$s_title ="";
$S_content = "";
$s_imageurl = "";
$s_ctime = date('Y-m-d H:i:s',time());
if (!empty($_REQUEST["edit_id"]))
{
$edt_id = $_REQUEST["edit_id"];
}
if(!empty($_POST['btn_ok']))
{
if (!empty($_REQUEST["text_title"]))
{
//mysql_real_escape_string转换特殊符号
//stripslashes还原函数
$s_title = $_REQUEST["text_title"];
}
if (!empty($_REQUEST["text_content"]))
{
$S_content = $_REQUEST["text_content"];
}
if (!empty($_REQUEST["text_imageurl"]))
{
$s_imageurl = $_REQUEST["text_imageurl"];
}
if (!empty($_REQUEST["text_time"]))
{
$s_ctime = $_REQUEST["text_time"];
}
$s_title = str_replace("'","''", $s_title);
$s_imageurl = str_replace("'","''",$s_imageurl);
$S_content= str_replace("'","''",$S_content); $sql="insert into news(title,imageurl,content,ctime) values ('$s_title','$s_imageurl','$S_content',#$s_ctime#) ";
if ($edt_id !=-1 && $edt_id !="")
{
$sql="update news set title='$s_title',imageurl='$s_imageurl',content='$S_content',ctime=#$s_ctime# where id=$edt_id ";
}
if(! $access->exec_sql($sql)) //插入数据
{
echo("<script>alert('保存失败');</script>");
}
else
{
if ($edt_id ==-1 or $edt_id =="")
{
$rs = $access->get_recordset("select max(id) from news");
if ($tmprow = $rs->fetch())
{
$edt_id = $tmprow[0];
}
}
echo("<script>alert('保存成功');</script>");
};
}
else
{
if ($edt_id !=-1 && $edt_id !="")
{
$sql="select id,title,imageurl,content,ctime from news where id=$edt_id ";
$rs =$access->get_recordset($sql);
if ($rs){
if ($row = $rs->fetch())
{
$s_title = $row[1];
$s_imageurl = $row[2];
$S_content = $row[3];
$s_ctime = $row[4]; };
};
}
}
$s_title = str_replace("''","'", $s_title);
$s_imageurl = str_replace("''","'",$s_imageurl);
$S_content= str_replace("''","'",$S_content);
echo($sql . "<br/>");
echo($S_content . "<br/>");
/*
$s_title = iconv('gbk','utf-8',$s_title );
$s_imageurl = iconv('gbk','utf-8',$s_imageurl);
$S_content = iconv('gbk','utf-8',$S_content);
*/
?>
<form id="form1" name="form1" method="post" action="newsedit.php">
<div style="width:850px;height:100%; border:1px solid black" >
<table class="mytable" style="width:100%;" >
<tr style="height:24px; background-color:#BEDCD8" >
<td style="width:100px;" > </td>
<td style="width:750px; text-align:center; height:26px; "><strong>新闻管理</strong></td>
</tr>
<tr style="height:24px;" >
<td>标题:</td>
<td><label for="text_title"></label>
<input type="text" name="text_title" value="<?php echo($s_title) ?>" style="width:98%; line-height:20px;" id="text_title" /></td>
</tr>
<tr >
<td>时间:</td>
<td> <input type="text" name="text_time" value="<?php echo($s_ctime) ?>" style="width:98%; line-height:20px;" id="text_title" /></td>
</tr>
<tr >
<td>内容:</td>
<td>
<textarea id="text_content" name="text_content" rows="12" cols="80" style="width:750px; height:500px; ">
<?php echo($S_content) ?>
</textarea>
</td>
</tr>
<tr >
<td></td>
<td style="text-align:center;">
<input type="hidden" id="edit_id" name="edit_id" value="<?php if ($edt_id != -1) {echo($edt_id);}; ?>"/>
<input type="submit" name="btn_ok" id="btn_ok" value="提交" />
<input type="button" onclick="window.location='newsList.php'" name="btn_ok" id="btn_ok" value="退出" />
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
<?php
include("dbclass/dbclass.php");
$access = new access_db("service/hndb.#db");
$edt_id = $_REQUEST['id'] ;
$S_content = "";
$sql="select content from news where id=$edt_id ";
$rs =$access->get_recordset($sql);
if ($rs){
if ($row = $rs->fetch() )
{
$S_content = $row[0];
$S_content = str_replace("../","",$S_content);
echo( $S_content);
};
};
?>
class access_db{
private $db;
//构造函数
function __construct($access_db_url)
{
try{
$this->db = new PDO("odbc:driver={microsoft access driver (*.mdb)};dbq=".realpath($access_db_url)) or die("Connect Error");
}
catch (PDOException $e)
{
echo( "Error: " . $e->getMessage() . "<br/>");
die();
}
}
public function get_recordset($strsql)
{
try{
return $this->db->query($strsql);
} catch (PDOException $e)
{
echo( "Error: " . $e->getMessage() . "<br/>");
die();
}
}
//分页查询,仅数据量在1万数据以内,且存在id自增序列的数据表有效
public function get_page($strsql,$page_index,$page_size)
{
try{
if ($page_index < 1) $page_index =1;
if ($page_size < 1) $page_size = 30;
$i_start = ($page_index-1) * $page_size; //开始记录
$i_end = $page_index * $page_size; //结束记录
$low_sql = strtolower($strsql);
//取出order,排序字符
$ord_index = strpos($low_sql,"order") ;
$order_sql = "";
if ($ord_index)
{
$order_sql = substr($strsql,$ord_index);
}
//取出where,条件字符
$where_sql = "";
$where_index = strpos($low_sql,"where") ;
if ($where_index)
{
if ($ord_index)
{
$where_sql = substr($strsql,$where_index,($ord_index-$where_index));
}
else
{
$where_sql = substr($strsql,$where_index);
}
}
//取出from后的字符
$from_index = strpos($low_sql,"from") ;
$from_sql = substr($strsql,$from_index);
if ($where_index)
{
$from_sql = substr($strsql,$from_index,($where_index-$from_index));
}else
{
if ($ord_index)
{
$from_sql = substr($strsql,$from_index,($ord_index-$from_index));
}
}
//取出字段
$sel_index = strpos($low_sql,"select") ;
$cut_start_index = $sel_index + strlen("select");
$colum_sql = substr($strsql, $cut_start_index,$from_index - $cut_start_index);
$end_sql = substr($strsql,$cut_start_index);
if ($i_start > 0)
{
//其他页
$sel_sql1 = "select top " . $i_start . " id " . $from_sql . " " . $where_sql . " " . $order_sql;
if ($where_index)
{
$sel_sql2 = "select top " . $i_end . " " . $colum_sql . " " . $from_sql . " " . $where_sql . " and id not in (" . $sel_sql1 .") " . $order_sql ;
}
else
{
$sel_sql2 = "select top " . $i_end . " " . $colum_sql . " " . $from_sql . " where id not in (" . $sel_sql1 .") " . $order_sql ;
}
}
else
{
//第一页
$sel_sql2 = "select top " . $i_end . " " . $colum_sql . " " . $from_sql . " " . $where_sql . $order_sql ;
}
/*
echo("from=" . $from_sql . "<br/>");
echo("where=" . $where_sql . "<br/>");
echo("ord=" . $order_sql . "<br/>");
echo("sql1=" . $sel_sql1 . "<br/>");
echo("sql2=" . $sel_sql2 . "<br/>");
*/
return $this->db->query($sel_sql2); //执行加工了的sql
} catch (PDOException $e)
{
echo( "Error: " . $e->getMessage() . "<br/>");
die();
}
}
那么请贴出 echo base64_encode($S_content); 的结果
Jm5ic3A7PHAgc3R5bGU9IlRFWFQtQUxJR046IGNlbnRlciI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OifLzszlJztGT05ULVNJWkU6IDE4cHQiPsrQzq+zo86vu8a9qNGrwsrV/riusr/DxcC01LDH+LX30dA8L3NwYW4+PC9wPjxwIHN0eWxlPSJURVhULUFMSUdOOiBjZW50ZXIiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTony87M5Sc7Rk9OVC1TSVpFOiAxOHB0Ij4mbmJzcDs8L3NwYW4+PC9wPjxwPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTont8LLzl9HQjIzMTInO0ZPTlQtU0laRTogMTZwdCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7MjAxNMTqM9TCMTHI1aOs1tC5stXYx+zK0M6vs6POr6Gi1+nWr7K/s6S7xr2o0avCysrQzq/X6davsr+hosrQufrNwb7WoaLK0Lu3saO+1qGivq3Qxb7Wtciyv8PFwey1vKOs1Nq548T+z9jOr8rpvMfVxbnwuumhos/Yzq+zo86vx/G9oce/oaK4sc/Ys6TOwtXxxfShotXYx+zK0LijvNO1ws2218q/2LnJ09DP3rmry762rcrCs6SzwsP30MK1yMXjzazPwqOs3bDB2dSwx/i199HQoaO7xrOjzq/U2sz9yKHByzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J7fCy85fR0IyMzEyJztGT05ULVNJWkU6IDE2cHQiPs7SPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTont8LLzl9HQjIzMTInO0ZPTlQtU0laRTogMTZwdCI+uavLvratysKzpLPCw/e/xrXEu+OxqLrzo6zWuLP21LDH+L3xxOq/qr7Wwby6w6OsPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTont8LLzl9HQjIzMTInO0ZPTlQtU0laRTogMTZwdCI+0M7Kxs+yyMujrDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J7fCy85fR0IyMzEyJztGT05ULVNJWkU6IDE2cHQiPtKqx/M8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Oie3wsvOX0dCMjMxMic7Rk9OVC1TSVpFOiAxNnB0Ij649zwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J7fCy85fR0IyMzEyJztGT05ULVNJWkU6IDE2cHQiPsbz0rW808e/udzA7aOsyeixuNKquPzQwqOsvLzK9dKqPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTont8LLzl9HQjIzMTInO0ZPTlQtU0laRTogMTZwdCI+vfiyvTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J7fCy85fR0IyMzEyJztGT05ULVNJWkU6IDE2cHQiPqOsudzA7dKqyc/MqL3Xo7vSqsfz1LDH+NCt1vrV/riusr/Dxb6hv+zN6rPJPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTont8LLzl9HQjIzMTInO0ZPTlQtU0laRTogMTZwdCI+yKvK0Dwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J7fCy85fR0IyMzEyJztGT05ULVNJWkU6IDE2cHQiPqG20NDStbei1bm55ruuobejrMrQu7exo77WPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTont8LLzl9HQjIzMTInO0ZPTlQtU0laRTogMTZwdCI+0qrT68qhsaOz1sPcx9C5tc2oo6w8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Oie3wsvOX0dCMjMxMic7Rk9OVC1TSVpFOiAxNnB0Ij7Xpb30zeqzybnmu667t8bAo6zS1ML61+PUsMf4xvPStbL6xNy1xNDox/Oju82syrHSqsfz1f64rrK/w8XHv7uvt/7O8aOsye7I69Swx/jG89K1zP3IodLivPujrMi3saPG89K1y7PA+8n6svq+rdOqoaPX7rrzo6y7xrOjzq88L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Oie3wsvOX0dCMjMxMic7Rk9OVC1TSVpFOiAxNnB0Ij7LtTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J7fCy85fR0IyMzEyJztGT05ULVNJWkU6IDE2cHQiPqOsy/u9q7zM0Pi1o8jOytDV/riuu6rEz8/uxL/XqNTw0KHX6dfps6To0+u087zS0rvG8L2ru6rEz8/uxL/X9rTz1/bHv6Os1ebV/bPJzqrV2MfsytC9+L/a1NnJ+tfK1LS8r9S8u6+hornmt7a7r7ei1bm1xMq+t7a7+bXYo6zT67vhyMvUsbGo0tTIyMHStcTVxsn5oaM8L3NwYW4+PC9wPjxwPjxpbWcgYWx0PSIiIHNyYz0iLi4vdXBsb2FkL2RheV8xNDA1MTUvMjAxNDA1MTUxNDI2MzM1MjI3LmpwZyIgd2lkdGg9IjU1MyIgaGVpZ2h0PSI0MTUiIC8+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OsvOzOU7Rk9OVC1TSVpFOiAxMC41cHQiPiZuYnNwOzwvc3Bhbj48L3A+PHA+PGltZyBhbHQ9IiIgc3JjPSIuLi91cGxvYWQvZGF5XzE0MDUxNS8yMDE0MDUxNTE0MjY0Mjk2NjEuanBnIiB3aWR0aD0iNTUzIiBoZWlnaHQ9IjQxNSIgLz48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6y87M5TtGT05ULVNJWkU6IDEwLjVwdCI+Jm5ic3A7PC9zcGFuPjwvcD48cD48aW1nIGFsdD0iIiBzcmM9Ii4uL3VwbG9hZC9kYXlfMTQwNTE1LzIwMTQwNTE1MTQyNjQ5ODQxNC5qcGciIHdpZHRoPSI1NTMiIGhlaWdodD0iNDE1IiAvPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpUaW1lcyBOZXcgUm9tYW47Rk9OVC1TSVpFOiAxMC41cHQiPiZuYnNwOzwvc3Bhbj48L3A+
$a = explode('组长', $r[1][1]);
$t = $a[1];
echo bin2hex($t{0});
echo substr($t, 1);
乱码部分为:
与大家一起将华南项目做大做强,真正成为肇庆市进口再生资源集约化、规范化发展的示范基地,与会人员报以热烈的掌声。应该是你在插入数据时就已经乱码了
但为什么读出来就乱码呢??这点就真的不明白。
截个图看看
我直接用asp测试。也能正确显示。
下面是asp的代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!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=utf-8" />
<title>无标题文档</title>
</head><body>
<%
dim conn,connstr
'on error resume next
connstr="DBQ="+server.mappath("hndb.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Set conn=Server.CreateObject("ADODB.CONNECTION")
conn.open connstrSet rs=Server.CreateObject("ADODB.RecordSet")
sql="select * from news where id=20 order by id desc"
rs.Open sql,conn,1,1
if rs.eof and rs.bof then
response.Write("没有记录")
else
response.Write( "有记录" )
end if
%>
<% = rs("content") %>
</body>
</html>