Où ajouter l'extension UTF-8 dans la page HTML?

Je dois ajouter le charset = "utf-8" à la fin des balises de script pour obtenir la traduction dans une autre langue.

Je sais où tout je devrais ajouter les tags. Toutes les règles sont suivies. Permettez-moi de savoir où ajouter le jeu de caractères. Dois-je ajouter à la fin de "ApplicationLoader.js" ou seulement après les plugins jquery. Toute suggestion s'il vous plaît.

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>My Web App</title> <link href="css/jquery/jquery.ui.all.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="js/jquery-1.4.2.min.js" charset="utf-8"></script> <script type="text/javascript" src="js/jquery-ui-1.8.custom.min.js" charset="utf-8"></script> <script type="text/javascript" src="js/jquery.depends.js" charset="utf-8"></script> <script type="text/javascript" src="myemployeelist.js" ></script> 

Mettre à jour:

Je vais vous rendre plus facile de comprendre ma situation dans les détails et je ne suis pas un type de choses supplémentaires, je suis un débutant en formation maintenant. À ma connaissance, je vais vous expliquer mes problèmes.

  1. J'ai créé un projet d'application Web dans Eclipse, dans lequel j'ai créé une classe pour la connexion JDBC à MySQL.
  2. J'ai une classe dans serverside qui obtient la valeur de profil des utilisateurs de ma zone de texte webapp et enregistre dans DB.
  3. J'utilise le plugin jQuery pour faire une traduction de l'anglais vers l'arabe.
  4. J'ai une page HTML dans laquelle, comme indiqué dans la partie supérieure de la question, j'ai les balises dans lesquelles j'ai ajouté le charset = "utf-8" pour spécifier unicode.
  5. J'utilise dwr pour obtenir les valeurs dans js et l'envoyer au côté du serveur.
  6. J'ai changé ma langue de saisie d'ordinateur en arabe et ma langue Mozilla Firefox en arabe.

Je peux entrer les valeurs en anglais dans mysql et je peux le récupérer, mais lorsque je saisis une valeur arabe, il ne sera pas enregistré. L'erreur JDBC est

 java.sql.SQLException: Incorrect string value: '\xD8\xB3\xD9\x84\xD8\xA8...' 

Je ne sais pas comment configurer mon serveur Jetty 6 LANG variable vers utf-8 . Toute suggestion s'il vous plaît. Merci.

Si un en Content-Type tête Content-Type est présent dans les en-têtes de réponse HTTP, cela remplacera les méta-en-têtes. Très souvent, cet en-tête est déjà par défaut fourni par le serveur Web et plus souvent que le jeu de caractères est absent (ce qui supposerait le jeu de caractères par défaut du client qui est souvent ISO-8859-1). En d'autres termes, les méta-en-têtes ne sont généralement interprétés que lorsque les ressources sont ouvertes localement (pas par HTTP). Grande chance que c'est la raison pour laquelle vos méta-en-têtes n'avaient apparemment pas fonctionné lorsqu'ils étaient servis sur HTTP.

Vous pouvez utiliser Firebug ou Fiddler2 pour déterminer les en-têtes de réponse HTTP. Voici un écran Firebug:

Texte alt

Vous pouvez configurer le paramètre général pour les en-têtes de réponse HTTP au niveau du serveur Web. Vous pouvez également le configurer sur demande au niveau de la langue de programmation. Comme il n'est pas clair quel langage serveur / langage de programmation que vous utilisez, je ne peux pas vous informer sur la façon de le configurer en conséquence.


Mise à jour : selon les symptômes du problème, qui est l'exception MySQL typique suivante:

 java.sql.SQLException: Incorrect string value: '\xD8\xB3\xD9\x84\xD8\xA8...' 

La séquence d'octets D8 B3 D9 84 D8 A8 est une séquence UTF-8 valide qui représente les caractères سلب ( U + 0633 , U + 0644 et U + 0628 ). La partie HTTP est donc bien. Vous avez mentionné que vous utilisiez Jetty 6 en tant que conteneur de servlet. Les versions ultérieures de Jetty 6 supportent déjà UTF-8 hors de la boîte.

Cependant, le problème se trouve dans la partie DB. Cette exception indique que le charset DB / table a été indiqué pour l'utiliser ne supporte pas cette séquence d'octets. Cela peut se produire lorsque la table DB / table n'a pas été indiquée pour utiliser UTF-8.

Pour réparer la partie DB, émettre ces commandes MySQL:

 ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci; 

Et pour les futurs DB / tables, utilisez CHARACTER SET utf8 COLLATE utf8_general_ci dans l'instruction CREATE également.

Il suffit généralement de déclarer le codage du document principal une fois, soit par l'intermédiaire d'un content-type tête de content-type (voir la réponse de BalusC pour une explication approfondie), soit, si cela n'est pas disponible, la balise Meta.

Si vous utilisez la balise Meta, assurez-vous qu'elle se trouve dans la première ligne de la section head .

Il ne devrait pas être nécessaire de spécifier explicitement le jeu de caractères pour les fichiers de script.

Bien sûr, tous les contenus dont vous avez besoin doivent également être codés en UTF-8 pour que cela fonctionne. Il ne suffit pas de tapoter la méta-métrage de type contenu dans l'avant. (Mais vous êtes probablement conscient de cela.)

De cette façon:

 <script type="text/javascript" src="[path]/myscript.js" charset="utf-8"></script>