首頁 > 後端開發 > php教程 > PHP使用Access数据库使用iconv导字符截断的问题

PHP使用Access数据库使用iconv导字符截断的问题

WBOY
發布: 2016-06-23 13:53:02
原創
1158 人瀏覽過

1.使用iconv导字符截断

<?phpheader("content-type:text/html;charset=utf-8");include 'conn.php'; $query=odbc_do($conn,"select top 10 id,biaoti from news ");//$num = 0;while(odbc_fetch_row($query)){?><a href="View.php?id=<?=odbc_result($query,1)?>"><?=iconv('gbk','utf-8//ignore',odbc_result($query,2))?></a><?phpecho "<br>";}?>
登入後複製


回复讨论(解决方案)

2. php读取access数据库,字段为备注型输出是空白

<?php include 'conn.php'; $id=$_GET['id']; $sql="select biaoti,neirong from news WHERE id =".$id;$query=odbc_do($conn,$sql);while(odbc_fetch_row($query)){$biaoti=odbc_result($query,biaoti);echo $biaoti; //标题可以输出echo $neirong;// 内容是空的,输出不了}?>
登入後複製

你的备注字段时候什么类型的?


$biaoti=odbc_result($query,biaoti);
echo $biaoti; //标题可以输出
echo $neirong;// 你没有读 neirong 的内容,当然输出不了

你的备注字段时候什么类型的?


$biaoti=odbc_result($query,biaoti);
echo $biaoti; //标题可以输出
echo $neirong;// 你没有读 neirong 的内容,当然输出不了



这里写错了,我有加读取neirong的代码
neirong的字段类型就是备注类型。

你 echo strlen($neirong);
输出的是什么?

你 echo strlen($neirong);
输出的是什么?


内容输出OK了,使用iconv导字符截断的问题没有解决。

从2008年4月18日起,蛇口往返澳门(新港澳码头)各增加两个航班
截断了变成:
从2008年4月18日起,蛇口往返澳门(新港澳码头)各增 

不可能! utf-8 集合比 gbk 集合大

$s = '从2008年4月18日起,蛇口往返澳门(新港澳码头)各增加两个航班';echo iconv('gbk', 'utf-8//ignore', $s);
登入後複製
登入後複製
从2008年4月18日起,蛇口往返澳门(新港澳码头)各增加两个航班

不可能! utf-8 集合比 gbk 集合大

$s = '从2008年4月18日起,蛇口往返澳门(新港澳码头)各增加两个航班';echo iconv('gbk', 'utf-8//ignore', $s);
登入後複製
登入後複製
从2008年4月18日起,蛇口往返澳门(新港澳码头)各增加两个航班


版主,有没有邮箱,可否直接发数据库和代码给你

把 news 表的 biaoti 字段宽度从 50 改为 100
一切问题都解决了

把 news 表的 biaoti 字段宽度从 50 改为 100
一切问题都解决了


版主,我不是很理解,比方说,如果我设的是50字节,那么我保存的时候只能存50字节数据,对么?但是数据库里明显是存进去了,但为何就是没取出来呢?

是的,插入时如果超长是要报错的!
我也不知道你是怎么插入的
就算 biaoti 只按 50 读出数据,从而导致尾部乱码
但也不应该影响 neirong 的读取,而事实是 biaoti 超长时,neirong 就读取不到

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板