HTMLENTITIES удаляют слова с ударением

В сценарии я хотел бы восстановить данные из базы данных. Когда данные отображаются на экране, символы с акцентами отображаются в точке опроса. Я пытался использовать ‘HTMLENTITES ($ variable, ENT_HTML5) и слова, выводимые с экрана. Сценарий и данные кодируются в UTF8.

Что вы делаете для отображения данных без точки опроса?

Спасибо за помощь заранее!

Здесь код.

$requete = "SELECT ID_MODULE, SIGLE, TITRE, ETAT, ANNEE FROM MODULE";
$res = mysqli_query($cxn,$requete);
while ($ligne = mysqli_fetch_array($res)) {
echo '<tr>';
echo '<td> <input type="checkbox" name="choix[]" value="'.$ligne['ID_MODULE'].'"> </td>';
echo '<td>'.$ligne['SIGLE'].'</td>';
echo '<td>'.$ligne['TITRE'].'</td>';
echo '<td>'.htmlentities($ligne['ETAT'], ENT_HTML5).'</td>';
echo '<td>'.$ligne['ANNEE'].'</td>';
echo '</tr>';
}

0

Решение

Вы должны попробовать этот код.

mysqli_set_charset($this->mysqli,"utf8");
mysqli_set_charset($cxn,"utf8");
0

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

используйте следующий код, чтобы увидеть, работает ли он:

echo htmlentities($ligne['ETAT'], ENT_HTML5, "UTF-8");

я прошел UTF-8 в качестве третьего параметра к htmlentities();

Обновить:
используйте эту функцию, чтобы увидеть, работает ли она:

function _decodeAccented($encodedValue, $options = array()) {
$options += array(
'quote'     => ENT_NOQUOTES,
'encoding'  => 'UTF-8',
);
return preg_replace_callback(
'/&\w(acute|uml|tilde);/',
create_function(
'$m',
'return html_entity_decode($m[0], ' . $options['quote'] . ', "' .
$options['encoding'] . '");'
),
$encodedValue
);
}

Вышеупомянутая функция скопирована из комментариев на Официальную Документацию PHP.net на htmlentities() :

http://php.net/manual/en/function.htmlentities.php#108222

0

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