Heim > Backend-Entwicklung > PHP-Tutorial > PHP使用Access数据库使用iconv导字符截断的问题

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

WBOY
Freigeben: 2016-06-23 13:53:02
Original
1155 Leute haben es durchsucht

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>";}?>
Nach dem Login kopieren


回复讨论(解决方案)

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;// 内容是空的,输出不了}?>
Nach dem Login kopieren

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


$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);
Nach dem Login kopieren
Nach dem Login kopieren
从2008年4月18日起,蛇口往返澳门(新港澳码头)各增加两个航班

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

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


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

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

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


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

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage