Poster une réponse à un sujet: [Debian/LAMP] Full UTF-8
Attention, ce sujet est un sujet ancien (5874 jours sans réponse)
Gras [b]Texte[/b] Italique [i]Italique[/i] Souligné [u]Souligné[/u] Barré [strike]Barré[/strike]
Courriel [email=nobody@nobody.org]Nom[/email] Lien [url=http://www.website.com]Texte[/url] Ancre [anchor]Nom[/anchor] Image [img]http://www.website.com/image.jpg[/img] Insérer une image en provenance du site
Aligné à gauche [align=left]Texte[/align] Centré [align=center]Texte[/align] Aligné à droite [align=right]Texte[/align] Toute la largeur [align=justify]Texte[/text]
Couleur [color=#000000]Text[/color] Mise en forme [highlight=pascal]Texte[/highlight] Widgets Emoticons :code: [:code] Convertisseur HTML vers BBCode Convertisseur Word vers BBCode
Prévisualisation Vérification de l'orthographe

Copier Coller Couper Tout sélectionner
Tout effacer Insérer la date Insérer l'heure Insérer la date et heure Insérer votre IP
Liste [list=square][item]BlaBla[/item][/list] Liste Numérotée [list=decimal][item]BlaBla[/item][/list]
Citation [quote=name]Texte[/quote] Spoiler [spoiler]James est le meurtrier![/spoiler]
Tout en majuscules [uppercase]Texte[/uppercase] Tout en minuscules [lowercase]Texte[/lowercase] l33t [l33t]Je suis un nerd[/l33t] Texte en indice [sub]Texte[/sub] Texte en exposant [sup]Texte[/sup] Taille du texte [size=8]Texte[/size]
 
3Dos
Perso, je me met en full utf-8 et ça fonctionne au poil :smile:

Bli, je parlais pas de l'en-tête html mais de la fonction header php. Apache renvoie le charset utilisé au lieu du charset du fichier s'il est différent. Il faut donc, dans php, spécifier le header à renvoyer avec la fonction "header"

Du reste de la config, je vois pas trop puisque ta BDD semble bien configurée. Je sais que chez OVH (l'hébergeur XD ) leur bdd est configurée n'importe comment et qu'il reste des settings en latin1 et le reste en utf-8 donc avant chaque connection je dois faire un set names = "utf-8"

Comme je le disais et ovh aussi, vérifies aussi l'encodage de tes fichiers .php pour être sur qu'ils soient en utf-8 eux aussi.
ovh
Vérifie que tes scripts PHP sont eux aussi encodés en UTF-8 (vois cela dans ton éditeur préféré :petrus: ).

Sinon de manière générale : je déteste les charset, ça fout tout le temps la merde à un moment ou à un autre. Pas pour rien que je reste en iso-8859-15, ça au moins ça marche à tous les coups. :oh: Les langues exotiques j'utilise pas et n'utiliserai jamais du moins dans le cadre de ce job-ci :spamafote:
blietaer
Oui bien sur tous mes fichiers PHP commence par ce header:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Mais c'est après que ca se gâte...
Note que je ne fais rien écrire par PHP mais bien afficher des champs puisé dans MySQL qui est full-réglé en utf8.
Pareil pour apache2
Pareil pour PHP5 (tous les php.ini, dans tous les sous-directory).

Je lis bcp de conseil comme faire un :
mysql_query("SET NAMES, 'utf8'");
Tout de suite après la connection avec la DB.

Mais cela ne change rien (et ne serait pas une solution valable non plus...)
Seul un petit: mysql_set_charset("utf8", $link) fonctionne...

Nottons que sur une machine Gentoo full-utf8 tout roule..donc ca doit vraiment être dans la config de cette Debian...

Des pistes?
d'autres fichiers config à vérifier?

Merci pour vos idées.
3Dos
header('Content-type: text/html; charset=utf-8');
au début de ton script principal PHP (de tête je peux me tromper) Sinon vérifies aussi l'encodage de tes fichiers html/php toussa si ils ne sont pas encodés en iso au lieu de utf-8 ...

Pour php6 la gestion de l'unicode n'a pas à voir avec ton problème, il intervient dans php même (par exemple dans des substr("chaîne avec des accents èéà", 0, 8); ou l'utf-8 prend la place de deux caractères iso...
blietaer
Bonjour

Contexte: une Debian en prod avec du LAMP dessus.
Le but du jeu, tout flanquer depuis la lecture dans MySQL jusqu'au browser, via apache/php5, en UTF-8 (ceci parce quele site sera traduit en de nombreuses langues, y compris avec des signes bizarres).

Le truc c'est que si je je fais une bête requête sur une table et que j'affiche, tous les accents sont quand-même remplacé par le beau losange noir avec un "?" dedans.
Je peux bien sur jouer sur l'encodage dans mon Firefox..et ca repasse en beaux accents, mais c'est pas le but (je le remets en UTF-8 donc)

Si je viens RE-taper un mysql_set_charset() pour le repasser en utf8, tout est tout beau

(Le pire, c'est que les modules de Typo3 se font mal sur les mots avec un accent: il les affiche bien, mais vire la première lettre du string!!???

Les données:
php_info()

_SERVER["HTTP_ACCEPT_CHARSET"] ISO-8859-1,utf-8;q=0.7,*;q=0.7


MySQL:

character set client utf8
character set connection utf8
character set database utf8
character set filesystem binary
character set results utf8
character set server utf8
character set system utf8
character sets dir /usr/share/mysql/charsets/
collation connection utf8_unicode_ci
(Valeur globale) utf8_general_ci
collation database utf8_general_ci
collation server utf8_general_ci
completion type 0


Dois-je aussi faire quelque chose dans Apache2?

Jeanne: J'étais pas au FOSDEM à la discussion pHP6 sur l'unicode...ca me sauverait dans ce cas-ci? :crazy:
Catégorie:  






Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?