gpt4 book ai didi

php - UTF-8 : successful conversion to iso-8859-1 but not to iso-8859-2

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:35:46 24 4
gpt4 key购买 nike

我在 MS Access 上有一个数据库,我通过调用 PDO 和 odbc 驱动程序将其与 PHP 一起使用。我的数据库中有法语、丹麦语和波兰语单词。法语和丹麦语没问题,但波兰语字符没办法,我只得到“?”相反。

代码如下:

    try{
$db = new PDO("odbc:DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=$dbName; Uid=Admin;Pwd=;");
}
catch(PDOException $e){
echo $e->getMessage();
}
$answer = $db -> query("SELECT * FROM dict_main WHERE ID < 20");
while($data = $answer-> fetch() ){
echo iconv("iso-8859-1","utf-8",htmlspecialchars($data['DK'])) . ' ';
echo iconv("iso-8859-2","utf-8",htmlspecialchars($data['PL'])) . ' ';
echo iconv("iso-8859-1","utf-8",htmlspecialchars($data['FR'])) . ' ';
}

如果有人有想法请告诉我,因为我的想法已经用完而且似乎没有任何效果,或者我是否应该提供有关我没有想到的问题的更多信息。

最佳答案

看起来像htmlspecialchars() does not support ISO-8859-2 .所以它可能会在到达 iconv() 之前破坏 $data['PL'] 的内容。

首先尝试将输入字符串转换为 UTF-8,然后将 htmlspecialchars() 应用于 UTF-8 字符串:

echo htmlspecialchars( iconv("iso-8859-2", "utf-8", $data['PL']) );

关于php - UTF-8 : successful conversion to iso-8859-1 but not to iso-8859-2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17494806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com