Web サービスからスウェーデン語の文字を挿入しようとしました。私のコードは次のようになります
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に設定しました。