utf8_encode SQL 和 PHP 结果之间的差异
utf8_encode difference between result in SQL and PHP
我正在使用 utf8_encode 来确保我的用户的输入将特殊字符转换为我的 MYSQL 可以搜索的字符。 (我的数据库设置在latin1_swedish.ci)。
当我回应我的查询时,我得到了一个完美的查询,我可以 运行 反对我的 MYSQL(我得到了一个结果)。但是当我通过 PHP 执行相同的查询时,它不起作用。
$name = 'Widerøe';
$name = utf8_encode($name);
SELECT id FROM type WHERE name = '$name' LIMIT 1
SELECT id FROM type WHERE name = 'Widerøe' LIMIT 1
$data = mysqli_fetch_assoc(mysqli_query($conn, "SELECT id FROM types WHERE name = '$name' LIMIT 1"));
$operator_id = $data['id'];
我找到了一个(简单的)修复方法。我删除了 utf8_encode 并将以下元标记放在 body.
的头部
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
我正在使用 utf8_encode 来确保我的用户的输入将特殊字符转换为我的 MYSQL 可以搜索的字符。 (我的数据库设置在latin1_swedish.ci)。
当我回应我的查询时,我得到了一个完美的查询,我可以 运行 反对我的 MYSQL(我得到了一个结果)。但是当我通过 PHP 执行相同的查询时,它不起作用。
$name = 'Widerøe';
$name = utf8_encode($name);
SELECT id FROM type WHERE name = '$name' LIMIT 1
SELECT id FROM type WHERE name = 'Widerøe' LIMIT 1
$data = mysqli_fetch_assoc(mysqli_query($conn, "SELECT id FROM types WHERE name = '$name' LIMIT 1"));
$operator_id = $data['id'];
我找到了一个(简单的)修复方法。我删除了 utf8_encode 并将以下元标记放在 body.
的头部<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>