我试图从网络服务中插入瑞典语字符, 我的代码是这样的
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 编码,我也将 header 设置为 utf。
最佳答案
我认为如果您使用 Notepad++ 打开 menu.alx 并将整个 xml 文件的编码设置为 UTF-8,您的问题就会消失。
关于php - 从 web 服务向 mysql 数据库插入数据时瑞典字符编码失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16571244/