IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Internals : PHP6 et Unicode [Débat]


Sujet :

Langage PHP

  1. #61
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 319
    Points : 351
    Points
    351
    Par défaut
    Certes, en douceur. Ça fait combien d'années maintenant qu'on traîne ces problèmes ?..

    Je suis bien d'accord, j'exagère un peu.

  2. #62
    Membre habitué Avatar de FrontLine
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 173
    Points : 134
    Points
    134
    Par défaut
    Bonjour,

    je suis en train de passer tout un site en utf-8 et je me heurte à un problème de taille.

    Faut-il remplacer toutes les fonctions de traitement de caractères (strlen, strpos, substr, ...) par leur équivalent mb_* ?

    Ou il y a moyen de régler ça direct dans le php.ini ou une autre solution ?

    Je crois également que même certaines fonctions de la famille array sont impacté par l'utf-8

  3. #63
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par FrontLine Voir le message
    Bonjour,

    je suis en train de passer tout un site en utf-8 et je me heurte à un problème de taille.

    Faut-il remplacer toutes les fonctions de traitement de caractères (strlen, strpos, substr, ...) par leur équivalent mb_* ?

    Ou il y a moyen de régler ça direct dans le php.ini ou une autre solution ?

    Je crois également que même certaines fonctions de la famille array sont impacté par l'utf-8
    oui ca peu se régler dans le php.ini avec
    mbstring.func_overload
    http://www.php.net/manual/fr/mbstring.overload.php


    pour les array faudrait, voir du coté de intl avec Collator
    http://fr2.php.net/manual/fr/class.collator.php



    mais bon, j'ai jamais vraiment eu de soucis de se genre, ta un exemple d'utilisation qui ne marcherait pas ?

  4. #64
    Membre habitué Avatar de FrontLine
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 173
    Points : 134
    Points
    134
    Par défaut
    Merci pour ta réponse !

    J'ai testé l'overload de mbstring mais apparemment il n'est pas stable (lu dans la doc). Par exemple j'ai planté l'accueil d'un Mediawiki installé en local. Après avoir modifié un peu les réglages de mbstring c'est rentré dans l'ordre (j'ai mis à 4 l'overload et modifié 2 ou 3 autres valeurs).

    En tout cas c'est déjà une solution que je vais utiliser.

    Pour les array je n'ai pas testé, j'ai simplement lu dans la doc. Je regarderais en profondeur pour voir si il y a une réel impact.

    Sinon pour str_* echo strlen('éà') = 4 caractères au lieu de 2.

    Collator je ne connaissais pas, je regarde de plus près

  5. #65
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par FrontLine Voir le message
    Sinon pour str_* echo strlen('éà') = 4 caractères au lieu de 2.
    ma question était plus dans l'intérêt de faire quelque chose du genre, dans quel but t'as besoin de faire un strlen('éà')

  6. #66
    Membre habitué Avatar de FrontLine
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 173
    Points : 134
    Points
    134
    Par défaut
    Vérifier les données d'un formulaire par exemple

  7. #67
    Membre confirmé
    Profil pro
    Développeur indépendant
    Inscrit en
    Août 2004
    Messages
    373
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur indépendant
    Secteur : Transports

    Informations forums :
    Inscription : Août 2004
    Messages : 373
    Points : 512
    Points
    512
    Par défaut ca me herisse le poil
    oui, ca me herisse le poil.
    on entend partout 'logiciel libre", etc..
    et la, quoi.?? on veut nous imposer un type d'encodage.???
    deja, rien que ca, parceque au final, c'est ca, ca me herisse le poil.
    alors, sous couvert de soit disant compatibilité, etc, des arguments falacieux, on obligerait les gens à passer sous un encodage qui ne leur convient pas forcement, voir meme pourrait completement les desservir..
    alors, non, imposer un type d'encodage, c'est de la mega connerie.
    c'est une politique de faineants sans imagination.
    si c'est ca la philosophie de la team aux commandes aujourdhui, ca fait peur pour la suite de php.
    parallele simple. c'est comme si aujourdhhui, toutes les emissions de radio et televisions etaient faites en anglais uniquement pour faciliter la circulation de l'information..
    c'est pas de l'imperialisme ca.??

    oui à l'intelligence, à la possibilité d'apprendre, non à l'imposition d'une uniformisation sterile.

  8. #68
    Membre averti
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Points : 390
    Points
    390
    Par défaut
    Ca sent pas un peu le troll ?
    L'encodage ne force pas la langue de diffusion de ton contenu... ou alors j'ai loupé un épisode
    La comparaison avec la radio...rien à voir

  9. #69
    Membre confirmé
    Profil pro
    Développeur indépendant
    Inscrit en
    Août 2004
    Messages
    373
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur indépendant
    Secteur : Transports

    Informations forums :
    Inscription : Août 2004
    Messages : 373
    Points : 512
    Points
    512
    Par défaut et vila, typique de la diarée du web
    une belle reponse de queqlu'un qui n'a pas lu ni compris le message.
    ce n'et pas l'utf8 ou autre que je critique, mais le fait qu'on veuille nous imposer tel ou tel encodage.

    s'ils continuent dans cette voie, on verrra forcement fleurir des moyens de detourner ce choix fait par une minorité, et imposé aux autres, et un ou plusieurs fork de php pourraient bien voir le jour.

    bravo ensuite pour l'interoperabilité..
    maintenant si on nous balance que les developpeurs n'arrivent pas à comprendre le principe d'encodage, au secours, c'est pas des developpeurs, c'est des nazes.

    la vie ne se satisfait pas de l'uniformité.. elle aime la diversite.
    l'informatique, ca fait partie de la vie, et ca respecte les memes principes.

  10. #70
    Membre averti
    Homme Profil pro
    Lead Dev Web
    Inscrit en
    Avril 2005
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Lead Dev Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2005
    Messages : 282
    Points : 390
    Points
    390
    Par défaut
    Si on part là dessus disons que tu n'as pas lu mon message également, je parlais de ta comparaison qui n'avais pas trop de rapport.
    Après tout l'informatique c'est construit sur des normes, divers standards...
    Je ne vois pas en quoi imposer un encodage à PHP est un problème de liberté.
    Les gens resteront libre de forké au besoin.
    Je trouvais juste que tu partais un peu loin dans ton message sur "l'imposition".
    Juste un avis

  11. #71
    Membre expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Points : 3 947
    Points
    3 947
    Par défaut
    c'est comme si aujourdhhui, toutes les emissions de radio et televisions etaient faites en anglais uniquement pour faciliter la circulation de l'information..

    la vie ne se satisfait pas de l'uniformité.. elle aime la diversite.
    Franchement, foutaise, mais vraiment.

    L'informatique, comme n'importe quel secteur, entre autre l'industrie, les normes, les conventions, ou autres soit disant standard qui laisserait croire que c'est pour offrir plus de choix aux utilisateurs, c'est du vent.

    Chaque éditeur de logiciels tenterait plutôt d'imposer leur standard qui serait soit disant mieux que les autres, et si un y parvient, c'est le Jackpot, le roi du pétrole.
    Bref, le but, c'est avant tout une histoire de gros sous, rien de plus.

    Puis que la nature soit diversifiée oui. Du moins, elle l'était.
    Mais l'Homme (avec un grand H parait il) fait justement tout pour qu'il n'y ait plus cette diversité.
    Il n'y a qu'à voir les dégâts qu'on fait.
    Par nature, l'Homme n'aime pas l'imprévisible, alors il crée des normes pour ça, de la standardisation.
    L'informatique n'y échappe pas.

    Donc crier scandale que Php tenterait d'imposer un encodage. Peut être, voir surement.
    Cependant, on va pas me faire croire que c'est mieux chez les autres.
    Du vent ...

    Et pour la comparaison avec la télé ou radio, il fallait trouver mieux, car là, c'est tout l'inverse.
    En France, et aussi dans les DOM, c'est la TNT ... et rien d'autre dans quelques mois ... plus l'ombre d'un signal analogique dans peu de temps.
    Vive la diversité.
    Mais encore mieux.
    Si tu as la bonne idée de venir à la Réunion avec ta super Télé dernier crie et son décodeur/adaptateur TNT intégré ... pas d'bol ... en France le standard c'est du MPEG2 et à la Réunion du MPEG4.
    T'est bon pour aller courir acheter un autre décodeur.
    Vive la diversité.


    Plus sérieusement, et quand bien même que je ne suis pas un codeur professionnel, ça fait quelques années maintenant que je fais du Php, et à mon sens, avoir un vrai standard universel serait justement une aubaine.
    On code avec un seul encodage, on partage ce code au travers la planète tout entière, et on a plus à se poser la question si celui qui le reçois va pouvoir l'exploiter.
    L'utf8 devait apporter ça si j'ai bien compris, et c'est justement ça l'interopérabilité, non ?

    A l'inverse, si je code en utf-8, et qu'un autre me donne un code en ISO, puis un autre en ANSI, et encore un autre un Windows 1200 je ne sais quoi, et bien c'est justement tout sauf de l'interopérabilité.
    Je dirais plutôt un vrai cauchemar.


    Citation Envoyé par yannux
    Ca sent pas un peu le troll ?
    J'suis plutôt d'accord.

    Ca cri au scandale, mais dans le fond, on ne sait pas vraiment pourquoi.
    Ceci dit, si la politique de Php ne correspond pas à sa philosophie, et bien il suffit d'utiliser un autre langage, non ?
    Que je sache, Php n'est pas le seul langage pour faire un site Web, non ?
    Finalement, de la diversité, il y en a.

    Puis vu que c'est l'open Source qui a l'air visé, il y a une petite blague qui comparait ces 2 mondes (libre/payant) que j'aime bien.
    Je cite (en gros) : "Il y a moins bien, mais c'est plus cher".



    Une vrai question d'ailleurs par rapport à ce utf-8.
    Quand est il des autres langages d'ailleurs, comme ASP, JSP, Python, Perl, etc ... par rapport à Php.

    En faite, la question sous entendue que je me pose, c'est :
    Est ce que la communauté Php tenterait d'innover en proposant nativement de l'UTF-8 ?
    Où bien est ce plutôt pour tenter de rattraper un retard, car les autres langages eux le sont déjà ?
    Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
    Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]

Discussions similaires

  1. [PHP 5.4] [internals] Jani et Rasmus relancent le projet Unicode
    Par Yogui dans le forum Langage
    Réponses: 3
    Dernier message: 14/03/2010, 03h08
  2. Tables internes
    Par manou dans le forum Débuter
    Réponses: 2
    Dernier message: 30/05/2003, 12h29
  3. [debutant] unicode
    Par dadou91 dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 23/05/2003, 10h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo