Я работаю на французском сайте, и у меня тоже была такая же проблема. Это функция, которую я использую.
function convert_accent($string)
{
return htmlspecialchars_decode(htmlentities(utf8_decode($string)));
}
Что он делает, он декодирует вашу строку в utf8, чем конвертирует все сущности HTML. четные метки Но мы хотим преобразовать теги обратно в нормальное состояние, чем htmlspecialchars_decode преобразует их обратно. Таким образом, в конце вы получите строку с преобразованными акцентами, не касаясь тегов.
Вы можете использовать эту функцию для передачи содержимого своей электронной почты перед отправкой получателю.
Другая проблема, с которой вы можете столкнуться, заключается в том, что иногда с помощью этой функции содержимое базы данных преобразуется в? , В этом случае вы должны сделать это перед выполнением запроса:
mysql_query("SET NAMES `utf8`");
Но вам может понадобиться это сделать, это зависит от кодировки в вашей таблице. Надеюсь, это поможет.