Mysql
 sql >> Base de données >  >> RDS >> Mysql

Caractères accentués dans la table mySQL

J'ai déjà rencontré le même problème auparavant, et ce que j'ai fait est le suivant

1) Utilisez notepad++ (peut presque s'adapter à n'importe quel encodage) ou eclipse et assurez-vous de l'enregistrer ou de l'ouvrir en UTF-8 sans BOM .

2) définissez l'encodage dans l'en-tête PHP, en utilisant header('Content-type: text/html; charset=UTF-8');

3) supprimer tous les espaces supplémentaires au début et à la fin de mes fichiers PHP.

4) définir l'encodage de toutes mes tables et colonnes sur utf8mb4_general_ci ou utf8mb4_unicode_ci via PhpMyAdmin ou n'importe quel client mySQL que vous avez. Une comparaison des deux encodages est disponible ici

5) définissez le jeu de caractères de connexion mysql sur UTF-8 (j'utilise PDO pour ma connexion à la base de données)

  PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
  PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET utf8"

ou exécutez simplement les requêtes SQL avant de récupérer des données

6) utilisez une balise meta <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

7) utiliser un certain code de langue pour le français<meta http-equiv="Content-language" content="fr" />

8) changez l'attribut lang de l'élément html pour la langue souhaitée

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

et je le mettrai à jour davantage car j'avais vraiment du mal à résoudre ce problème auparavant parce que je traitais avec des caractères japonais dans mes projets précédents

9) Certaines polices ne sont pas disponibles sur le PC client, vous devez utiliser Google fonts pour l'inclure dans votre CSS

10) Ne terminez pas votre fichier source PHP par ?>

REMARQUE :

mais si tout ce que j'ai dit ci-dessus ne fonctionne pas, essayez d'ajuster votre encodage en fonction du jeu de caractères que vous voulez vraiment afficher, pour moi j'ai tout réglé sur SHIFT-JIS pour afficher tous mes caractères japonais et ça marche vraiment bien. Mais en utilisant UFT-8 doit être votre priorité