2016-11-23 2 views
0

В командной строке sqlite правильно отображает символы с акцентом, содержащиеся в моей базе данных. В PHP эхо показывает меня правильно.Показать символы с акцентом

Но когда я делаю запрос с моей страницы PHP, он отображается неправильно. Я не могу найти, где проблема кодирования.

Заранее благодарю вас за помощь.

<?php 
$db = new SQLite3('database.sqlite'); 

if(isset($_GET['search'])) { 
    $rec = htmlentities($_GET['search']); 
} else { 
    $rec = ''; 
} 

$result3 = $db->query('SELECT lastname,firstname,phone,location FROM rh WHERE name != "" AND lastname || " " || firstname || " " || location LIKE "%'.$rec.'%" ORDER BY name asc LIMIT 25'); 
?> 

HTML-форма:

<form action="" method="get"> 
<input type="search" name="search" value="<?php echo $rec; ?>" /> <input type="submit" value="Search" /> 
</form> 

И результаты на другой PHP странице:

<?php 
echo '<h3>Results</h3>'; 
echo '<tr><th>Name</th><th>Phone</th><th>Location</th></tr>'; 
while ($row = $result3->fetchArray(SQLITE3_ASSOC)) { 
echo '<tr><td>' . $row['lastname'] . ' ' . $row['firstname'] . '</td><td>' . $row['phone'] . '</td><td>' . $row['location'] . '</td></tr>'; 
} 

$db->close(); 
?> 
+3

«Вопросы, требующие помощи по отладке (« почему этот код не работает? ») Должны включать в себя желаемое поведение, конкретную проблему или ошибку и кратчайший код, необходимый для воспроизведения в самом вопросе. не полезны для других читателей. См.: [Как создать минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve). " – timclutton

ответ

0

Может быть, вам нужно указать кодировку Проппер в вашем HTML-Head, например:

<html> 
    <head> 
    <meta charset="utf-8"> 
    ... 
    </head> 

И/или вы, урожденная d для де-кодирования данных перед выходом utf8_encode();.

+0

Я просто пытался, к сожалению, ничего не меняет. 'echo ''. $ row ['lastname']. ''. utf8_encode ($ row ['firstname']). ''. $ row ['phone']. ''. $ row ['location']. ''; ' – mwette

 Смежные вопросы

  • Нет связанных вопросов^_^