Специальные символы в PHP PDO Sqlite Query вызывают нераспознанный токен

Я пытаюсь выполнить запрос в PHP, используя PDO на Sqlite, который может содержать специальные символы (Ä, Ö, Ü, …). Но я не могу выполнить запрос. PHP возвращает следующую ошибку:

array (3) {[0] => string (5) «00000» [1] => int (1) [2] => string (35) «нераспознанный токен:» ‘MÄÖÜ123DE «»}

Я попытался выполнить собственный запрос, а также использовать подготовивший оператор и значения привязки.

$statement = "select * from list where param = ? and value = ?";
$stmt = $db->prepare($statement);
$stmt->bindValue(1, $setparam);
$stmt->bindValue(2, $val,PDO::PARAM_STR);
$stmt->execute();

Родной путь:

$statement = "select * from list where param = '".$setparam."' and value = '".$val."'";
$res = $db->query($statement);

Оба способа возвращают одну и ту же ошибку. Я использую XAMPP 1.8.3-5. Используемое кодирование UTF-8.
В sqlitestudio запрос работает хорошо.

РЕДАКТИРОВАТЬ Выполнить PDO:

$db = new PDO("sqlite:database/lists.db","","",array(
PDO::ATTR_PERSISTENT => true));

Используемое мета исполнение UTF-8 HTML:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

0

Решение

Случается, что база данных по-прежнему настроена на использование ISO-8859-15.
Попробуйте выполнить этот запрос раньше других, чтобы исправить настройки кодировки.

SET NAMES "utf8"
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]