我自己写了个PHP抓供货商的数据直接插入我的数据库,以方便与供货方网站同步,但却出现了?号
ECSHOP用的是UTF8编码,我供货方网站用的是GB2312,我用file取得对方网页再分析,有没有文办法可以把从对方取过来的文字进行编码转换呀,PHP可不可以做得到,有没高手能帮忙解决一下这个问题:
我的PHP是这样写的
<!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" c />
<title>商品添加</title>
<style type="text/css">
<!--
.STYLE1 {color: #FF0000}
-->
</style>
</head>
<body>
<?php
$date=$_POST['date'];
$small=$_POST['small'];
$big=$_POST['big'];
$sn=$_POST['sn'];
?>
<p><?php echo $small ?>到<?php echo $big ?></p>
<table width="1399" border="1" cellspacing="0">
<tr>
<td width="250"><span class="STYLE1">商品名称</span></td>
<td width="55"><span class="STYLE1">市场价</span></td>
<td width="55"><span class="STYLE1">价格</span></td>
<td width="383"><span class="STYLE1">介绍</span></td>
<td width="58"><span class="STYLE1">商品货号</span></td>
<td width="267"><span class="STYLE1">图片</span></td>
<td width="301"><span class="STYLE1">对照图</span></td>
</tr>
<?php
set_time_limit(0);
for($row=$small;$row<=$big;$row++)
{
$buffer = @file("
http://www.ddddddd.com/list.asp?id=$row");
//$buffer[246]=str_replace('</a>','',$buffer[246]);
//echo $buffer[246].'<br>';
//for($i=0;$i<sizeof($buffer);$i++)
//
//print_r($buffer);
//}
?>
<tr>
<td width="250"><?php $buffer[156]=str_replace('<td height="25" align="center"><b style=" color:#333333">','',$buffer[156]);
$buffer[156]=str_replace('</b></td>','',$buffer[156]);
?>
<?php echo $buffer[156] ?> </td>
<td width="55"><?php echo $buffer[160]*1.5; ?></td>
<td width="55"><?php echo $buffer[160].'<br>'; $buffer[161]=str_replace('</font></td>','',$buffer[161]); echo $buffer[161]; ?></td>
<td><?php $desc = '<table width="100%" border="0" cellspacing="0">'.$buffer[164].$buffer[165].$buffer[166].$buffer[167].$buffer[168].$buffer[169].$buffer[170].$buffer[171].$buffer[172].$buffer[173].$buffer[174].$buffer[175].$buffer[176].$buffer[177].$buffer[178].'</table>';
echo $desc;
?>
<?php $buffer[179]=str_replace('<td height="25"><span class="STYLE4">商品编号:','',$buffer[179]);
$buffer[179]=str_replace('</span></td>','',$buffer[179]);
?>
<?php $keywords = $buffer[179].'|'.$buffer[156];echo '商品关键字:'.$keywords.'<p>';?>
<?php echo '注意单位:'.$buffer[161];?>
<?php
$time=date("Y-m-d");
$goods_thumb = 'jyushoppic/'.$date.'/100/'.$sn.'.jpg';
$goods_img = 'jyushoppic/'.$date.'/200/'.$sn.'.jpg';
$goods_desc = '<p><img alt="" src="/jyushoppic/a080301/1/'.$sn.'.jpg" /></p>
<p> </p>
<p>*******************************************************************************************************<br />
<br />
'.$desc.'
<br />
商品包装:出厂包装+送精美首饰袋+自选包装<br />
注:每个商品均可到包装区领取相应的免费包装,免费包装数不得超过所购商品数,包装与商品<br />
必须匹配,如:只有购买戒指才能邻取戒指盒,如我们认为你所先包装与所购商品不匹配,我们<br />
有权在不经您同意的情况下删除部分包装或全部包装,如遇自选包装缺货,自选包装将由我们选<br />
用其它同类包装替换,8元以下商品无自选包装。<br />
*******************************************************************************************************<br />
</p>
<p> </p>';
$marketprice = $buffer[160]*1.5;
include('../data/config.php');
$sql="INSERT INTO `jyu2012sky`.`ecs_goods` (
`goods_id` ,
`cat_id` ,
`goods_sn` ,
`goods_name` ,
`goods_name_style` ,
`click_count` ,
`brand_id` ,
`provider_name` ,
`goods_number` ,
`goods_weight` ,
`market_price` ,
`shop_price` ,
`promote_price` ,
`promote_start_date` ,
`promote_end_date` ,
`warn_number` ,
`keywords` ,
`goods_brief` ,
`goods_desc` ,
`goods_thumb` ,
`goods_img` ,
`original_img` ,
`is_real` ,
`extension_code` ,
`is_on_sale` ,
`is_alone_sale` ,
`integral` ,
`add_time` ,
`sort_order` ,
`is_delete` ,
`is_best` ,
`is_new` ,
`is_hot` ,
`is_promote` ,
`bonus_type_id` ,
`last_update` ,
`goods_type` ,
`seller_note` ,
`give_integral`
)
VALUES (
NULL , '0', '$sn', '$buffer[156]', '+', '0', '0', '', '100', '0', '$marketprice', '$buffer[160]', '0.00', '0', '0', '0', '$keywords', '', '$goods_desc', '$goods_thumb', '$goods_img', '', '1', '', '0', '1', '0', '$time', '0', '0', '1', '1', '1', '0', '0', '0', '0', '', '-1'
);
";
$conn=mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_name,$conn);
mysql_query("set character set utf8");
$result=mysql_query($sql);
mysql_close($conn);
?>
</td>
<td width="58"><?php echo $sn;$sn++;?></td>
<td><?php
$buffer[125]=str_replace('<img src="shoppic','<img src="
http://www.ddddd.com/15ps',$buffer[125]);
echo $buffer[125]; ?></td>
<td><?php
$buffer[125]=str_replace('15ps','shoppic',$buffer[125]);
echo $buffer[125].'<p>'
?></td>
</tr>
<?php } ?>
</table>
</body>
</html>

