UTF-8, d'accord mais.

Discussion dans 'Référencement international (langues, pays)' créé par skyuma, 30 Janvier 2005.

Tags:
  1. skyuma
    skyuma Nouveau WRInaute
    Inscrit:
    7 Mars 2004
    Messages:
    20
    J'aime reçus:
    0
    Je fais des sites dans différentes langues et j'ai un problème avec l'utf-8, je ne sais pas comment convertir mes textes, arabes, japonais ou memes francais, en utf-8.
    En effet comment savoir que " Çهنه " s'écrit " Çهنه "en utf-8.
    Si quelqu'un pouvait m'aider :)
     
  2. trix
    trix WRInaute discret
    Inscrit:
    23 Mars 2004
    Messages:
    87
    J'aime reçus:
    0
    Tu dis pas quel language tu utilises, mais si tu fais du PHP t'as l'embaras du choix. Regarde du cote de 'mbstring','iconv' et 'recode' (dans l'ordre de ma preference perso).

    iconv et recode sont aussi des utilitaires qui se retrouvent en ligne de commande sur la majorite des Unix (de nouveau dans l'ordre de preference perso).

    Si t'es sous windows, je peux pas t'aider, mais je suis sur qu'une ame charitable va completer mes infos.
     
  3. French Fred
    French Fred WRInaute discret
    Inscrit:
    12 Février 2004
    Messages:
    202
    J'aime reçus:
    0
    Salut,

    Le format de codage utf8 permet d'utiliser un texte d'un codage different du support entre autre (si mes souvenirs sont correctes).

    En creant une page sous dreamweaver, j'ai modifie le charset de la page en utf-8.

    Ensuite, j'ai copie le texte " Çهنه " dans les sources de la page.

    Puis un copier-coller en mode Design

    Le resultat est dispo a cette adresse:
    http://le-regent.net/test/encodage.html

    Tu noteras que la lecture des sources sous IE et sous FF sont differents.
    IE utilise le bon encodage mais il y a des pertes de donnees
    FF utilise le bon encodage sans perte de donnees

    Il est tout a fait possible d'ecrire du chinois, japonais, arabe, turc, ... dans les sources de tes pages web sans rencontrer de probleme.


    Cordialement,

    FRed
     
  4. skyuma
    skyuma Nouveau WRInaute
    Inscrit:
    7 Mars 2004
    Messages:
    20
    J'aime reçus:
    0
    Mes serveur de prod son sous linux, mais je dev sous windows.
    J'ai essayer d'utiliser une version d'iconv pour mais bon j'ai pas reussi a le faire marcher.

    Pour French Fred
    j'utilisai phpedit pour mon code, apparement il ne gère pas l'utf-8, et effectivement avec dreamweaver ca a l'air de marché :D

    Merci a tout les deux.
     
  5. Didier_S
    Didier_S WRInaute occasionnel
    Inscrit:
    24 Août 2004
    Messages:
    470
    J'aime reçus:
    2
    ceci étant valable pour PHP >= 3.0.6 et supérieurs
    okay?!
     
  6. skyuma
    skyuma Nouveau WRInaute
    Inscrit:
    7 Mars 2004
    Messages:
    20
    J'aime reçus:
    0
    Bizarre, bizarre, ya une semaine j'ai lu que cette fonction ne marchait que sous linux parce qu'elle utilise iconv justement, et là je ne vois rien justement dans la doc. Je l'essaye et ca marche effectivement sous windows :D
    Cool.
     
  7. BadProcESs
    BadProcESs WRInaute passionné
    Inscrit:
    28 Juillet 2003
    Messages:
    1 821
    J'aime reçus:
    0
    Heu... Et utf8_encode() tout simplement ne convidendrait-il pas ?
     
  8. skyuma
    skyuma Nouveau WRInaute
    Inscrit:
    7 Mars 2004
    Messages:
    20
    J'aime reçus:
    0
    oui c'est ce que Didier_S a dit :wink:
     
  9. Tchinkatchuk
    Tchinkatchuk WRInaute discret
    Inscrit:
    22 Avril 2003
    Messages:
    248
    J'aime reçus:
    0
    de mon coté, iconv marche tres bien de la facon suivante :

    Code:
    	$chaine = iconv('UTF-8', 'ASCII//TRANSLIT',$chaine);
    
     
  10. maxttb
    maxttb WRInaute occasionnel
    Inscrit:
    27 Février 2004
    Messages:
    387
    J'aime reçus:
    0
    Mais est-ce que les conversions par utf8_encode sont vraiment necessaires?
    Dans le cadre d'un site multilingue, où il est plus que recommandé d'écrire toutes les expressions, phrases dans des fichiers séparés (textes ou xml), la conversion à t-elle vraiment un sens?
    Pour mes sites, je fais des fichiers textes enregistrés en utf-8 et mes scripts se chargent de lire ces fichiers et les réécrire tel-quels au navigateur, aucun besoin de convertir quoi que ce soit.

    Code:
    [menu]
    menu=メインメニュー
    home=ホーム
    tabs=タブ譜
    submit=タブ譜を推薦
    links=リンク集
    
    [languages]
    languages=Languages
    en=English
    ja=日本語
    fr=Français
    es=Español
    
    etc etc
    
    C'est, à mon humble avis, la meilleure solution car elle est très modulable (l'ajout d'une langue n'est en fait qu'un ajout de fichier) et évite tous les problèmes de conversion d'encodage...
     
  11. Monique
    Monique WRInaute passionné
    Inscrit:
    16 Septembre 2002
    Messages:
    1 153
    J'aime reçus:
    0
    Bonjour,

    L'utilisation des jeux de caractères et références d'entité est loin d'être simple.
    Quelques liens utiles :
    - Introduction aux jeux de caractères
    - L'encodage des caractères, fiches de la présentation de Normand Lamoureux et fichier audio (W3CQuébec)
    - Caractères spéciaux et encodage
    - UTF-8 sous SciTE, configuration

    Pour éviter bien des déconvenues, il ne faut jamais oublier que
    Amicalement,
    Monique
     
  12. skyuma
    skyuma Nouveau WRInaute
    Inscrit:
    7 Mars 2004
    Messages:
    20
    J'aime reçus:
    0
    utf8_encode c'est pour les textes qui viennent de la base de donnée et qui chez ne sont pas stockés en utf-8 mais en je sais pas quoi.
    Sinon c'est clair que l''utilisation de fichier est très pratique, je peut gérer le même site dans plusieurs langues donc l'arabe le chinois et le japonais la dessus www.1001celebrity.com
     
  13. bonbouaz
    bonbouaz Nouveau WRInaute
    Inscrit:
    4 Janvier 2003
    Messages:
    11
    J'aime reçus:
    0
    je vais peut etre dire une anerie, mais pour moi, le plus simple, c'est d" :

    1 aller sur yahoo.co.jp pour verifier que tu supportes le charset et le telecharger, le cas echeant
    2 aller sur word, copier coller le texte que tu veux
    3 enregistrer sous html
    4 fermer, réouvrir sur dreamweaver, nettoyer le code
    5 vérifier le code, et la, découvrir "oh merveille !" que tout le code est passé en 〹 et consort, ce qui te permet de rester en caractere unicode.

    6 le meilleur, c'est que si tu fais un site autoadministrable, tu peux utiliser le richedit (en javascript) pour faire tes conversions a la volée.... top non ?

    un bout d'exemple de résultat : http://www.tahiti-tourisme.pf/articles. ... 3&etabid=8
     
  14. chantra
    chantra WRInaute discret
    Inscrit:
    27 Juin 2005
    Messages:
    225
    J'aime reçus:
    0
    c'est vrai que c un peu perturbant ces histoire de UTF-8. J'ai fais quelques tentaives dernierement, ou j'ouvrais un flux en UTF-8 (donc deja encodé), mais header html indique que la page etait en utf-8... mais malgre cela, le resultat affiche etait illisible.

    Je n'ai pas trouve enormement de tuto expliquant comment dealer avec le monde des formats de caracteres divers et varie :? ....

    Je m'y remettrait un de ces quatre, pour l'instant j'en resterait au carateres + ou - romains :)
     
  15. Tchinkatchuk
    Tchinkatchuk WRInaute discret
    Inscrit:
    22 Avril 2003
    Messages:
    248
    J'aime reçus:
    0
    je devais faire un tutoriel la dessus dur developpez .xxx mais je n'ai aps le temps.

    C'est galere a mettre mais quend tout fonctionne, yeepeee !!!

    Bon courage en totu cas.
     
  16. French Fred
    French Fred WRInaute discret
    Inscrit:
    12 Février 2004
    Messages:
    202
    J'aime reçus:
    0
    Bonjour,

    Je me suis apercu que le fichier que j'ai presente n'est plus disponible.
    Et certains d'entre vous sont arrives sur une page 404.

    Voici deux fichiers enregistres au format UTF-8:
    Ils contiennent des textes dans les langues suivantes:
    - arabe
    - turque
    - chinois
    - japonais
    - thailandais
    - russe

    http://coding.le-regent.net/encodage-UT ... 859-1.html
    Ce fichier utilise le charset ISO-8859-1, autrement dit le codage latin, mais le codage du fichier est en UTF-8

    http://coding.le-regent.net/encodage-UT ... UTF-8.html
    Ce fichier utilise le charset UTF-8, autrement dit le codage unicode, et le codage du fichier est en UTF-8

    Ce week end, je mettrais quelques exemples en php couple avec une base mysql.

    FRed
     
  17. French Fred
    French Fred WRInaute discret
    Inscrit:
    12 Février 2004
    Messages:
    202
    J'aime reçus:
    0
    Dans la serie, je veux travailler avec de l'encodage UTF-8, voici l'episode 2.

    Voici deux autres exemples bases sur le couple PHP/MySql.
    Ces deux pages permettent d'inserer du texte et liste le contenu d'une table.
    Pour chaque exemple, vous trouverez la version source de la page

    http://coding.le-regent.net/encodage-UTF-8/database.php
    Fichier enregistre au format UTF-8 et renvoie de l'ISO-8859-1.
    L'affichage des donnees sont correctes mais en editant les sources, on s'apercoit que les textes sont en code html "&...;".

    http://coding.le-regent.net/encodage-UT ... _utf-8.php
    Fichier enregistre au format UTF-8 et renvoie de l'UTF-8.
    Ici les sources de la page sont correctement restituees.

    Quelques details sur l'environnement:
    - le serveur web est apache en version Apache/1.3.29
    - PHP en version 4.3.11
    - MYSQL en version 4.0.21

    FRed
     
  18. chantra
    chantra WRInaute discret
    Inscrit:
    27 Juin 2005
    Messages:
    225
    J'aime reçus:
    0
    superbe, ben j'ai trouve ma mission pour la semaine prochaine: supporter tous les type de caracteres :D .

    Une petite precision: <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> suffit-il a definir (forcer) l'encodage pour le browser? paske mes dernier test mon laisse perplexe :?
     
  19. French Fred
    French Fred WRInaute discret
    Inscrit:
    12 Février 2004
    Messages:
    202
    J'aime reçus:
    0
    oui.

    Ce parametre permet d'indiquer au client (navigateur) quel encodage choisir.
    Mais il faut aussi indique sous quel format d'encodage, le serveur doit envoyer le resultat.
    Pour cela utilise le code suivant:
    Code:
    header('Content-Type: text/html; charset=UTF-8');
    Tu trouveras l'exemple dans le debut de la page a l'adresse suivante:
    http://coding.le-regent.net/encodage-UT ... utf-8.phps

    FRed
     
  20. chantra
    chantra WRInaute discret
    Inscrit:
    27 Juin 2005
    Messages:
    225
    J'aime reçus:
    0
    merci french fred,

    je pense pas que j'aurais trouve ca avant quelques heures de geeking 8) .

    bon, week end a la campagne pis la semaine prochaine je test. héhéhéhé
     
  21. chantra
    chantra WRInaute discret
    Inscrit:
    27 Juin 2005
    Messages:
    225
    J'aime reçus:
    0
    super french fred :D

    le coup du header() marche nickel.
    est-il possible de conserver des caracteres encodé en utf-8 dans une base mysql qui a priori est en ISO-8859-1?

    merci
     
  22. French Fred
    French Fred WRInaute discret
    Inscrit:
    12 Février 2004
    Messages:
    202
    J'aime reçus:
    0
    Salut Chantra,

    Au risque de me repeter, tu as toutes les informations dans les exemples que j'ai presente, a savoir la page database_utf-8.php:

    Dans l'exemple http://coding.le-regent.net/encodage-UT ... _utf-8.php, je sauvegarde un texte d'une langue quelconque dans une table mySQL.
    Donc oui, il est possible de sauvegarder les carateres dans une table.

    Je t'invite a consulter les sources de l'exemple ici

    Le server mysql est en version 4.0.21 (cf: hebergement chez sivit)

    FRed
     
  23. chantra
    chantra WRInaute discret
    Inscrit:
    27 Juin 2005
    Messages:
    225
    J'aime reçus:
    0
    autant pour moi,

    effectivement, en inserant les caracteres sous le format utf-8 dans la base, ca marche bien.
    maintenant, je me demande s'il n'est pas possible de specifier a apache (a travers le .htaccess) de directement renvoyer ses resultat en utf-8. ceci de maniere a ne pas renvoyer un header("content...utf-8") sur chaque page.

    Je suis en train de fouiller, mais ne trouve pas de resultat pour l'instant.

    si jamais tu as une idee :)
     
  24. Tchinkatchuk
    Tchinkatchuk WRInaute discret
    Inscrit:
    22 Avril 2003
    Messages:
    248
    J'aime reçus:
    0
    dans le php.ini tu peux signifier quel type de caractère en entrée et en sortie.
    Mais il vaut mieux mettre le charset églaement tout comme il vautmieux encoder tes fichies php, etc en utf-8 et avoir ta base en unicode.

    Il y a pas mal de choses a prendre en compte.
     
  25. French Fred
    French Fred WRInaute discret
    Inscrit:
    12 Février 2004
    Messages:
    202
    J'aime reçus:
    0
    Avec GG c'est facile ;)

    Apres une lecture rapide, il faut ajouter le code suivant dans ton .htaccess:
    Code:
    AddDefaultCharset UTF-8
    Je n'ai pas teste mais il y a,peut etre, quelques modifs a faire !?
     
  26. chantra
    chantra WRInaute discret
    Inscrit:
    27 Juin 2005
    Messages:
    225
    J'aime reçus:
    0
    french fred, tu es le roi :D

    mes premieres tentative etait d'ajouter:
    Code:
    php_flag default_charset UTF-8
    dans mon .htaccess, mais seulement, cela necessite que la configuration du serveur soit tres lache.

    Code:
    AddDefaultCharset UTF-8
    est pile-poil.

    desole french fred, mais j'ai cherche google avec des requetes comme ".htaccess force encoding"...

    merci mille fois.
     
  27. French Fred
    French Fred WRInaute discret
    Inscrit:
    12 Février 2004
    Messages:
    202
    J'aime reçus:
    0
    Pas de probleme.

    Any time ;)

    FRed
     
  28. chantra
    chantra WRInaute discret
    Inscrit:
    27 Juin 2005
    Messages:
    225
    J'aime reçus:
    0
  29. demoore
    demoore Nouveau WRInaute
    Inscrit:
    24 Juin 2005
    Messages:
    6
    J'aime reçus:
    0
    Utilisation d'unicode, encodage chinois unicode

    Bonjour,

    En utilisant unicode, tu règles tout tes problèmes d'afficages.
    En revanche je ne sais pas comment les moteurs de recherche réagissent.

    Je créé des sites en chinois, pour cela j'utilise le convertisseur Caractère - Chinois => Unicode sur ce site:

    -http://www.chine-nouvelle.com/outils/convertisseur-unicode.html

    Il doit surement exister l'équivalent pour les autres jeux de lettres ou caractères.

    [Edit zecat : ca commence a bien faire demoore ton casage d'url a tout bout de champs. On va pas passer notre vie à les desactiver ![
     
  30. French Fred
    French Fred WRInaute discret
    Inscrit:
    12 Février 2004
    Messages:
    202
    J'aime reçus:
    0
    Je crois que tu confonds unicode et caratere html.
    En faite, le site que tu cites converti les carateres chinois en entite html.

    le e avec un accent aigu sera sous cette forme:
    Code:
    &eacute;
    L'un des principes de l'unicode permet d'ecrire des ideogrammes chinois (par exemple) dans le code source de la page html

    Voici un exemple concret:
    http://missandhit.blogspot.com/2005/11/ ... l#comments
    Un blog en chinois (je ne sais pas de quoi il est question).
    En regardant les sources de la page, tu t'aperceveras que les ideogrammes sont present et lisible.
    Le codage de la page est de l'UTF8 ainsi que le charset de la page.


    Les robots savent lirent le code html des pages, donc pas de soucis de ce cote la ;)

    chantra:
    As tu resolu ton probleme ?
     
  31. calahaan
    calahaan Nouveau WRInaute
    Inscrit:
    13 Septembre 2005
    Messages:
    8
    J'aime reçus:
    0
    Bonjour
    Vous parlez de convertisseur chinois-> entité html mais comment fonctionne t-il ?

    J'ai des caractères chinois directement dans une table et je voudrais pouvoir les convertir en entité html car il ne s'affichent pas bien dans ma page.

    J'ai testé la fonction htmlentities en vain :?

    Je suis à court d'idée et suis preneur de conseil voire d'exemple

    Merci ! :p
     
  32. maxttb
    maxttb WRInaute occasionnel
    Inscrit:
    27 Février 2004
    Messages:
    387
    J'aime reçus:
    0
    Il suffit d'utiliser la syntaxe &# 1234; où 1234 est le code UNICODE correspondant au caractère chinois.
     
  33. kozaki
    kozaki Nouveau WRInaute
    Inscrit:
    5 Février 2006
    Messages:
    4
    J'aime reçus:
    0
    Merci French Fred pour cette clarification très claire et assez complète de la bonne publication multilingue avec Unicode, PHP & MySQL :)

    Résultat immédiat : prise en charge du chinois een + du français sur un petit guide pour lire & écrire le chinois sous Linux (mis à jour pour l'occasion)
     
  34. chantra
    chantra WRInaute discret
    Inscrit:
    27 Juin 2005
    Messages:
    225
    J'aime reçus:
    0
    moi le probleme qu'il me reste, c'est que quand je dumpe ma base de données avec mes données encodées en utf8, les données sont foutues lorsque je recharge le fichier du dump :s

    soit (bdd bien encodée)------>dump de la base pour sauvegarde pa ex ------> rechargement de la base à partir du dump . Données foutues


    :cry:
     
  35. papayou
    papayou WRInaute discret
    Inscrit:
    21 Avril 2004
    Messages:
    247
    J'aime reçus:
    0
    As-tu regardé l'interclassement. Je suis pas un pro des bases de données, mais je sais que sur certaines versions de PhpMyAdmin il y a un interclassement et ça joue sur l'enregistrement des données.

    Voilà, sinon je suis à la recherches de moteurs de recherches chinois (et des annuaires aussi) avec des liens de soumission direct !

    @ bientôt.
     
  36. chantra
    chantra WRInaute discret
    Inscrit:
    27 Juin 2005
    Messages:
    225
    J'aime reçus:
    0
    J'ai vu ca, ca depend aussi de si ton interface phpmyadmin est en utf8 ou iso.
    me suis pas encore trop plongé dedans pour l'instant
     
  37. blueice06
    blueice06 Nouveau WRInaute
    Inscrit:
    11 Mai 2005
    Messages:
    4
    J'aime reçus:
    0
Chargement...
Similar Threads - UTF Forum Date
Convertir page web en UTF-8 Développement d'un site Web ou d'une appli mobile 26 Janvier 2020
Mysql migration utf8->utf8mb4 Développement d'un site Web ou d'une appli mobile 17 Août 2019
Passer des paramètres UTF-8 dans l'URL ! URL Rewriting et .htaccess 5 Mars 2018
Utf8 Développement d'un site Web ou d'une appli mobile 30 Avril 2014
Problème encodage UTF-8 Problèmes de référencement spécifiques à vos sites 4 Octobre 2013
HTML5 convertir page web ISO en UTF-8 Développement d'un site Web ou d'une appli mobile 25 Juillet 2013
Content-type UTF8 , quel éditeur ? Développement d'un site Web ou d'une appli mobile 9 Juillet 2013
Soucis d'encodage apostrophe UTF8 Développement d'un site Web ou d'une appli mobile 10 Octobre 2011
Comment ajouter dans chaque vhost ceci SetOutputFilter DEFLATE Administration d'un site Web 29 Août 2011
[Résolu] Problème d'importation de base MySQL en UTF8 chez 1&1 Administration d'un site Web 3 Juillet 2011
Formulaire de contact en UTF-8 - problème caractères russe Développement d'un site Web ou d'une appli mobile 6 Juin 2011
Encodage utf8 / iso 8859-1 Développement d'un site Web ou d'une appli mobile 28 Février 2011
Problème encodage de mon Blog utf-8 et iso-latin Développement d'un site Web ou d'une appli mobile 13 Février 2011
Internet Explorer et UTF-8 Développement d'un site Web ou d'une appli mobile 9 Janvier 2011
[Netbeans] Problème utf-8 Développement d'un site Web ou d'une appli mobile 7 Janvier 2011
Problème d'affichage de base encodée en utf-8 Développement d'un site Web ou d'une appli mobile 23 Novembre 2010
[RESOLU] Ovh : passage Site à l'UTF8 Développement d'un site Web ou d'une appli mobile 27 Août 2010
Utf8 Iso et iframe Développement d'un site Web ou d'une appli mobile 8 Juillet 2010
Mettre de l'iso-8859-1 sur un page en utf8 Développement d'un site Web ou d'une appli mobile 17 Juin 2010
DTD et <?xml version="1.0" encoding="UTF-8"?> Développement d'un site Web ou d'une appli mobile 22 Mai 2010