来自数据库的导入链接在UTF8处被截断

时间:2013-01-30 13:37:23

标签: php database mysqli

我将数据作为字符串插入到我的数据库中。链接列是latin1_swedish_ci。我尝试将其更改为UTF8_swedish_ci(没有帮助)。我正在插入一个链接,它完全插入它是如何。我将此链接传递给一个弹出的php文件,然后在屏幕上输出。在输出期间,如果任何链接包含www.blahblah.com/somethingUTF8...在数据库中的UTF8之后有更多但在屏幕上没有。很抱歉,这是代码:

插入数据库:

$xml = simplexml_load_file($feed);
foreach ($xml->channel->item as $list){
$stmt = $mysqli->prepare ("INSERT INTO some_db (title, am_desc, link) VALUES (?,?,?)");
    $stmt->bind_param("sss", $title, $am_desc, $link);
    $title = $list->title;
    $am_desc = $list->description;
    $link = mysqli_real_escape_string($mysqli, $list->link);
    $stmt->execute();
    $stmt->close();}

这是我在将mysqli_fetch_array运行到链接后调用弹出窗口的方式:

<div style='position:relative; left:140px; padding-bottom:10px; 
width:100px'><a href='popup.php?link=".$link."' 
onClick='popup(this.href); return false;'>Click To Order</a></div>

这就是我从弹出窗口中的链接传递代码的方式:

$link = $_GET['link'];

适用于没有UTF8的每个链接。我对此很陌生,解决方案可能很简单,但我几个小时都找不到它。请帮忙!

1 个答案:

答案 0 :(得分:0)

尝试$link = utf8_encode($_GET['link']); .....应该做的伎俩;)