UTF-8 sur toute la ligne : comment configurer PHP, MySQL et le serveur web pour un fonctionnement correct avec le cyrillique et Unicode
Bonjour à tous ! Je suis un développeur PHP débutant, et j’ai déjà la tête qui tourne à cause des problèmes d’encodage. Le site est écrit en PHP, la base de données est MySQL, le serveur est Apache. Tout semble fonctionner, mais dès qu’un utilisateur saisit des lettres russes dans un formulaire, le cauchemar commence : dans la base de données, des caractères illisibles comme « Привет » sont enregistrés, et lors de l’affichage sur la page, on obtient des points d’interrogation ou des carrés vides.\n\nJ’ai essayé d’ajouter `` dans l’en-tête HTML — ça n’a pas aidé. J’ai essayé d’écrire `header('Content-Type: text/html; charset=utf-8');` en PHP — ce n’est pas non plus une solution miracle. Dans MySQL, les tables sont en `utf8_general_ci`, mais les données sont toujours corrompues. Voici un exemple de mon code :\n\n```php\n