Sujet: [PHP] UTF-8 viens ici...
15/08/2006 @ 20:59:00: cauet: [PHP] UTF-8 viens ici...
Hello,

Voilà que pour un nouveau projet je me suis inventé de réinventer la roue de coder un forum light en php. (faute d'avoir trouvé un chouette truc W3C compliant)

Je me suis dis, voilà une superbe idée pour passer à l'utf8 !
Et je me rend compte que php ne gère pas si bien l'utf8 que cela..

Dans mon esprit:

pages php encodées en utf8
header, doctype et charset utf8.

Mais après, si on ajoute monsieur MySQL, c'est là que tout deviens plus dur..

J'ai ma table en iso, et je fais :

echo utf8_encode($row['variable']);


Mais je trouve ca limite hasbeen d'encoder iso dans ma base et d'encoder utf à la volée, bonjour la consommation cpu inutile..

Alors, que faire :

1 ) Passer ma table en utf? *

2 ) Continuer à utf8_encode partout ?

3 ) Lors de mes insert, passer les données en utf8 dans une table iso ? (c'est ce que fais dotclear par exemple) plus besoin d'encoder à la sortie comme cela.. *


* = J'ai entendu dire que PhpMyAdmin ne gère pas bien l'utf et que ca risque de merder lors d'un edit.


Merci! :utf-8:

16/08/2006 @ 09:00:17: cauet: [PHP] UTF-8 viens ici...
Houhou? :kaola:
16/08/2006 @ 09:06:13: Derdesder: [PHP] UTF-8 viens ici...
"Houhou" : fait le hibou ! :ciler:
16/08/2006 @ 09:44:26: philfr: [PHP] UTF-8 viens ici...
Fais tout en utf-8. Plus jamais besoin de conversion.
Si PHPMyAdmin ne fais pas bien l'utf-8, n'utilise pas PHPMyAdmin.

Si tu es "obligé" d'utiliser PHPMyAdmin, et qu'il fait mal l'utf-8, ne passe pas en utf-8...
16/08/2006 @ 09:53:00: gizmo: [PHP] UTF-8 viens ici...
Fait quand même gaffe à ce que tu utilises. PHP ne supporte pas l'UTF8 dans de nombreuses fonctions. Ce n'est prévu que pour la version 6.
16/08/2006 @ 10:00:38: ovh: [PHP] UTF-8 viens ici...
Question subsidiaire : pourquoi utf-8 est mieux qu'iso-8859-1(5) ? :figti:
16/08/2006 @ 10:04:10: Jean-Christophe: [PHP] UTF-8 viens ici...
Par ce que :utf-8: ?


:chut:
16/08/2006 @ 10:07:55: gizmo: [PHP] UTF-8 viens ici...
pour supporter l'i18n sans se casser la tête?
16/08/2006 @ 10:08:05: philfr: [PHP] UTF-8 viens ici...
Parce que utf-8 permet de représenter tous les caratères unicode, et pas seulement les caractères latins.

Regarde une page wikipedia pour voir l'intérêt...
16/08/2006 @ 10:27:06: ovh: [PHP] UTF-8 viens ici...
OK, mais l'iso-8859-15 permet de gérer nos langues habituelles (toutes les langues occidentales), donc n'est-ce pas suffisant ? Quels caractères ne sont pas supportés à part les langues vraiment exotiques ? Le tilde ~ et tout ça sont supportés je pense ? Donc, à part si on veut vraiment traduire en coréen ou en japonais je ne vois pas où est le probème ? :figti:

Au fait j'ai trouvé un topic qui parle du sujet :
http://forum.alsacreations.com/topic.php?fid=17&tid=1201
16/08/2006 @ 10:32:54: philfr: [PHP] UTF-8 viens ici...
OK, mais l'iso-8859-15 permet de gérer nos langues habituelles (toutes les langues occidentales), donc n'est-ce pas suffisant ?


C'est une vision un peu étroite, non ? :smile:
Les américains trouvent aussi souvent que l'ASCII (sans accents) est suffisant. Et du coup il y a plein de softs qui ont des problèmes avec une cédille ou un accent...
16/08/2006 @ 10:46:37: ovh: [PHP] UTF-8 viens ici...
C'est une vision un peu étroite, non ? :smile:
Les américains trouvent aussi souvent que l'ASCII (sans accents) est suffisant. Et du coup il y a plein de softs qui ont des problèmes avec une cédille ou un accent...

Mmmhm je trouve la comparaison un peu douteuse :ohwell:
Restreindre les langues au seul anglais (cf l'ASCII) est clairement abusé.
Par contre, nous européens, on développe des softs qui vont être d'office dans nos langues européennes les 99% du temps donc bon...

Sauf si tu es certain que ton appli est vraiment destinée à être internationale au point d'être traduite dans les langues exotiques, mais sinon pour moi aucun intérêt de se casser la tête avec l'utf-8... :spamafote: S'il était parfaitement supporté par toutes les couches logicielles d'accord, ce serait le codage universel point à la ligne, mais ce n'est vraiment pas le cas pour le moment. :ohwell:
16/08/2006 @ 10:51:45: antp: [PHP] UTF-8 viens ici...
Bah pour un forum (ce dont il était question dans le premier post), ça peut être sympa quand même, vu que ça pourrait justement être réutilisé par d'autres gens parlant d'autres langues. Bon évidemment s'il est le seul à l'utiliser, l'UTF8 n'est peut-être pas très utile :grin:
16/08/2006 @ 10:52:56: cauet: [PHP] UTF-8 viens ici...
Fais tout en utf-8. Plus jamais besoin de conversion.
Si PHPMyAdmin ne fais pas bien l'utf-8, n'utilise pas PHPMyAdmin.

Si tu es "obligé" d'utiliser PHPMyAdmin, et qu'il fait mal l'utf-8, ne passe pas en utf-8...


Mhmmm, je crois que je vais tout tapper en utf8 :smile:

Par contre, je crois que lors de mes insert DB je suis obligé de faire un utf8_encode() non?

Les résultats formulaire c'est de l'iso je pense ?
16/08/2006 @ 10:54:43: cauet: [PHP] UTF-8 viens ici...
Bah pour un forum (ce dont il était question dans le premier post), ça peut être sympa quand même, vu que ça pourrait justement être réutilisé par d'autres gens parlant d'autres langues. Bon évidemment s'il est le seul à l'utiliser, l'UTF8 n'est peut-être pas très utile :grin:


Voilà quoi :smile:
C'est pour un forum!

Je compte bien le distribuer sous license quand il sera fini.. autant en faire profiter les autres (j'ai assez cherché un forum xhtml strict/css valide, sans résultat..)
16/08/2006 @ 12:49:44: zion: [PHP] UTF-8 viens ici...

Je compte bien le distribuer sous license quand il sera fini.. autant en faire profiter les autres (j'ai assez cherché un forum xhtml strict/css valide, sans résultat..)


Euh :toad666:

Sinon attention à ton utf en MySQL, il supporte pas ca avant la 4 au moins :petrus:
Donc si un mec est sur un MySQL 3, tu oublies.

Et comme le souligne Gizmo, l'utf en PHP est encore une douce utopie pour certaines fonctions :spamafote:
16/08/2006 @ 13:30:52: cauet: [PHP] UTF-8 viens ici...
Le mec qui profitera du truc en opensource n'aura qu'a avoir MySQL5 :topicalacon:
16/08/2006 @ 13:55:38: Altar: [PHP] UTF-8 viens ici...
MySQL5 c'est de la merde ! Vive postgresql non mais :oh:
16/08/2006 @ 14:01:54: ovh: [PHP] UTF-8 viens ici...
Vas-y développe tes arguments :grin: :write:

(je suis d'accord avec toi au fait :wink: )
16/08/2006 @ 14:11:18: antp: [PHP] UTF-8 viens ici...
L'UTF8 est compatible-ASCII pour le stockage/transfert, non ? En quoi ça pose un problème avec MySQL ? À part évidemment la recherche en ignorant les accents, etc.
Retour