从Web服务向mysql数据库插入数据时,瑞典字符编码失败

时间:2013-05-15 17:19:00

标签: php mysql utf-8 pdo

我试图从网络服务插入瑞典字符, 我的代码就像这样

Header("Content-Type: text/html; charset=UTF-8");
$xml = new XMLReader();
    $xml->open("http://ws.aldoc.eu/ws/mekafrance/menu.alx");
    $j= 4;
    $id = 6;
    $idp = 6;
    while($xml->read()){
    if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == "Menuitem")
    {
        $product = $xml->expand();
        $product = new SimpleXMLElement('<Menuitem>'.$xml->readInnerXML().'</Menuitem>');
        $menucode = $product->menucode;
$stmt = $dbh->prepare("insert into `ps_category_lang`(`name`) values ( :name)");        
    $stmt->bindParam(':name', $name);   
    $name =  mb_convert_encoding((string)$product->menu,"utf-8");

    $stmt->execute();
            }
           }

当我查看名字字段时,它会显示类似“AC /Klimatanlägg”的内容。

字段编码是utf8_general_ci,数据库也是。 该文件具有utf-8编码,我也将标头设置为utf。

1 个答案:

答案 0 :(得分:0)

我认为如果用notepad ++打开menu.alx并将整个xml文件的编码设置为UTF-8,你的问题就会消失。