[Terminé] Encodage: latin1, ISO et CP1252

Problèmes, bugs et difficultés rencontrés sur le site.
Avatar du membre
Claude Mauguier
Messages : 4233
Enregistré le : 16 févr. 2005, 01:00
Localisation : Isére

Message par Claude Mauguier »

A propos de ybob le "nouvel ancien", j'ai ma petite idée basée sur le fait que "bob" est le diminutif de robert, et que nous avons connu un robert f., lequel était aussi informaticien... Me trompé-je ? :wink:
Avatar du membre
sly
Messages : 5041
Enregistré le : 29 févr. 2004, 17:59
Localisation : Chambéry - Savoie

Message par sly »

Claude Mauguier a écrit :A propos de ybob le "nouvel ancien", j'ai ma petite idée basée sur le fait que "bob" est le diminutif de robert, et que nous avons connu un robert f., lequel était aussi informaticien... Me trompé-je ? :wink:
Bigre, un vrai jeu de détective !
C'est en effet une hypothèse qui se tient, mais alors, pourquoi le "y" devant bob ?

Le mystère persiste (et c'est plus drôle que de trifouiller le forum à la recherche des bug liés à l'utf8 ;-) )
Avatar du membre
sly
Messages : 5041
Enregistré le : 29 févr. 2004, 17:59
Localisation : Chambéry - Savoie

Message par sly »

sly a écrit : Par contre, l'hypothèse que php continuer à communiquer en iso, parfois, semble la bonne piste, pourtant je fais la même chose qu'elles que soient les tables.
La piste était plutôt bonne, mais pas tout à fait comme je la croyais, et je pensais "faire la même chose", mais ce n'était bien sûr pas le cas.

La réponse était dans la fonction php htmlentities() qui, dans notre version de php, traite par défaut en ISO-8859-1 ! En voyant arriver de l'UTF-8 elle convertissait ça en entité HTML et c'est en regardant le code généré que ça a fait tilt.

On se rapproche :
http://refuges.letuffe.org/news.php

Il reste le forum a dresser, et une histoire bizarre d'url.

et sans doute d'autres cas de figures d'euro (€), de oe liés et autres caractères de sortie du domaine de vol

Dominique : j'ai beaucoup trifouillé ma copie locale de refuges.info (conversion, patch, modifs diverses) et je suggère, pour m'éviter d'avoir à inspecter les fichiers un à un de ne pas toucher à la version en ligne (hors forum) afin que je puisse, qu'on tout est enfin clean, de faire le transfert inverse.

Pour la base en revanche, tout plan de nettoyage des fruits pourris (s'ils existent) est le bienvenu.
ybob

Message par ybob »

Bon, si c'est fun, je vous laisse chercher encore un peu

Ca a l'air de bien marcher !
sly a écrit : Pour la base en revanche, tout plan de nettoyage des fruits pourris (s'ils existent) est le bienvenu.
Il y en a beaucoup ? Selon les stats de Dominique, il n'y a que 2 caractères hors charset: NBSP et 0X173

tout le reste est en win1252, ce qui est 100% conforme.


mysqldump bosse par defaut en UTF8. Pour lui dire de pas toucher au charset en passant, il y a l'option "--skip-set-charset"

Mais là où je vous suis plus, c'est pourquoi convertir un dump et le ré-importer, avec les risques de conversion de charset aussi bien a l'export, qu'a l'import.
Dominique a écrit : J'ai vérifié, ça change la valeur de l'interclassement, mais ne touche pas au contenu de la table
la fonction ALTER TABLE CONVERT TO charset est censée convertir
(contrairement à CHANGE charset... )
http://dev.mysql.com/doc/refman/5.0/fr/ ... dp55035472
(phpmyadmin fait surement du CHANGE, et pas du CONVERT)
sly a écrit : et une histoire bizarre d'url.
euh, ca a tout l'air bon pourtant, mais est-ce que ce serait lié aux longueur de chaines ? UTF code sur 2+ octets, d'ou strlen() qui peuvent déconner (mb_strlen() à la place)
ou alors de LOCALE php ?

Pour Claude, les infos discutées ici sont accessibles à tous bidouilleur qui décortiquerait les pages web du site, il n'y a pas eu d'info interne, pas de nom de table SQL par exemple (mais ce serait pas critique non plus). Les ours celtes peuvent être tranquille :ours: . et sur internet, l'anonymat est tout relatif :|
Avatar du membre
Dominique
Messages : 3705
Enregistré le : 08 avr. 2006, 21:58

Message par Dominique »

sly a écrit :Dominique : j'ai beaucoup trifouillé ma copie locale de refuges.info (conversion, patch, modifs diverses) et je suggère, pour m'éviter d'avoir à inspecter les fichiers un à un de ne pas toucher à la version en ligne (hors forum) afin que je puisse, qu'on tout est enfin clean, de faire le transfert inverse.
Tout à fait en phase. Ce n'est pas que l'envie me démange, mais je n'ai pas le temps dans la semaine. Alors...
ybob a écrit :Mais là où je vous suis plus, c'est pourquoi convertir un dump et le ré-importer, avec les risques de conversion de charset aussi bien a l'export, qu'a l'import.
Non, c'était une idée bête, vu que j'avais fait ça pour les sources PHPbb sur un autre site, j'avais étendu le concept à une manip sur SQL sans essayer! mais ça ne marche visiblement pas
ybob a écrit :la fonction ALTER TABLE CONVERT TO charset est censée convertir
(contrairement à CHANGE charset... )
http://dev.mysql.com/doc/refman/5.0/fr/ ... dp55035472
(phpmyadmin fait surement du CHANGE, et pas du CONVERT)
J'ai bien essayé avec phpmyadmin . Donc je déclare forfait :?
ybob a écrit :Bon, si c'est fun, je vous laisse chercher encore un peu

Ca a l'air de bien marcher !
Y.. Bo.b.. ... je n'ose y croire ? Et pourtant, les IP ne mentent pas
Avatar du membre
sly
Messages : 5041
Enregistré le : 29 févr. 2004, 17:59
Localisation : Chambéry - Savoie

Message par sly »

sly a écrit : On se rapproche :
http://refuges.letuffe.org/news.php

Il reste le forum a dresser, et une histoire bizarre d'url.
Là, ça se rapproche vraiment.

Dans mes url, c'était la fonction strtr qui ne pouvait gérer correctement l'UTF-8 car utilisée ainsi :
function retrait_accents($str)
{
return (strtr($str,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç",
"AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc"));
}
"Since strtr (like PHP's other string functions) treats strings as a sequence of bytes, and since UTF-8 and other multibyte encodings use - by definition - more than one byte for at least some characters, the three-string form is likely to have problems. Use the associative array form to specify the mapping."

Pour phpBB, ça semble bien plus simple que prévu, un petit hack avec un : mysql_set_charset ( "utf8" );
juste après la sélection de la base, et tout semble rentrer dans l'ordre.

Le gros du site semble opérationnel, il va juste falloir fouiller un peu les "bidouilles" iso->utf-8 dont on devrait pouvoir se passer maintenant.

D'une manière que je n'explique pas, les signe euros et les oe qui étaient pourtant encodés en fruits pourri (WINDOWS-1252) dans la base, se sont retrouvés, comme par magie, correctement converti en UTF-8 par mon opération mysqldump
ce qui ne cesse de m'étonner, au point de me demander si ça ne cache pas un loup (qui, rappelez-vous, hurle à la lune)

2n yeux étant mieux si n > 1, j'engage tout courageux à parcourir :
http://refuges.letuffe.org/

A la recherche de zones qui pourraient foirer.

Dominique : Il semble me rester un truc lié au cartes qui foire encore. Ça doit être lié à une relique iso quelque part... je continue mes recherches
Avatar du membre
sly
Messages : 5041
Enregistré le : 29 févr. 2004, 17:59
Localisation : Chambéry - Savoie

Message par sly »

ybob a écrit : Mais là où je vous suis plus, c'est pourquoi convertir un dump et le ré-importer, avec les risques de conversion de charset aussi bien a l'export, qu'a l'import.
Pour moi, peut importe. Si on peut changer direct en base et que ça marche, no problème, mais dominique semblait dire que non, alors dans le doute, j'ai tenté un dump (qui de toute façon était nécessaire pour que j'ai un environnement de test) et comme ça a marché, je ne me suis pas posé plus de questions.
ybob a écrit :
sly a écrit : et une histoire bizarre d'url.
euh, ca a tout l'air bon pourtant, mais est-ce que ce serait lié aux longueur de chaines ? UTF code sur 2+ octets, d'ou strlen() qui peuvent déconner (mb_strlen() à la place)
bingo ! Mais j'étais en train d'écrire mon message en indiquant que c'était bon un tout petit peu trop tard ;-)
Avatar du membre
sly
Messages : 5041
Enregistré le : 29 févr. 2004, 17:59
Localisation : Chambéry - Savoie

Message par sly »

sly a écrit : Dominique : Il semble me rester un truc lié au cartes qui foire encore. Ça doit être lié à une relique iso quelque part... je continue mes recherches
Ben en fait, on dirait que c'est bon. Une erreur qui était liée à mes corrections.

Cette fois, on dirait bien que tout marche (j'ai bien sûr dis "on dirait")
Avatar du membre
sly
Messages : 5041
Enregistré le : 29 févr. 2004, 17:59
Localisation : Chambéry - Savoie

Message par sly »

Dominique a écrit :
ybob a écrit :Bon, si c'est fun, je vous laisse chercher encore un peu

Ca a l'air de bien marcher !
Y.. Bo.b.. ... je n'ose y croire ? Et pourtant, les IP ne mentent pas
Quel tricheur ce dominique, qui nous rappel au passage que l'anonymat sur internet c'est clair que c'est un peu du vent.

very good news en tout cas, tu restes un peu avec nous pour quelques fonctionnalités à ajouter ?
Vu ton niveau en mysql, on va pouvoir te soumettre quelques propositions pour faire marcher les requêtes spatiales de mysql et sortir plus facilement tous les points d'un massif ;-)
Avatar du membre
Claude Mauguier
Messages : 4233
Enregistré le : 16 févr. 2005, 01:00
Localisation : Isére

Message par Claude Mauguier »

Dominique a écrit : Y.. Bo.b.. ... je n'ose y croire ? Et pourtant, les IP ne mentent pas
C'est pas du jeu....nous on peut pas lire les ip, on ne voit que les y.... . Bon sang, j'avais tout faux, mais c'est devenu évident : les experts en bidouille électrochose on les compte sur les doigts d'une main. :)
Avatar du membre
Dominique
Messages : 3705
Enregistré le : 08 avr. 2006, 21:58

Message par Dominique »

Claude Mauguier a écrit :C'est pas du jeu....nous on peut pas lire les ip, on ne voit que les y....
Aucune spécialité la dedans: c'est une fonction du forum:
- Un premier click sur la case [IP] à droite
- Un deuxième sur [Chercher l'adresse IP]
Il ne te reste plus qu'a trouver un lyonnais abonné à wanadoo et fort en informatique :D
Charlinette
Messages : 941
Enregistré le : 22 janv. 2012, 18:30
Localisation : Ardèche centre

Message par Charlinette »

sly a écrit : 2n yeux étant mieux si n > 1, j'engage tout courageux à parcourir :
http://refuges.letuffe.org/

A la recherche de zones qui pourraient foirer.
Que les photos n'apparaissent pas, ni sur la page d'accueil ni sur les fiches, c'est normal ?
Modifié en dernier par Charlinette le 07 févr. 2013, 21:29, modifié 1 fois.
Charlinette
Messages : 941
Enregistré le : 22 janv. 2012, 18:30
Localisation : Ardèche centre

Message par Charlinette »

ybob a écrit : et sur internet, l'anonymat est tout relatif :|
Internet fait du monde un village...
Avatar du membre
Dominique
Messages : 3705
Enregistré le : 08 avr. 2006, 21:58

Message par Dominique »

sly a écrit :Dominique : Il semble me rester un truc lié au cartes qui foire encore. Ça doit être lié à une relique iso quelque part... je continue mes recherches
Si, il y a bien un truc lié aux cartes: en survolant full screen, l'écran se transforme en carré blanc
Cause: ma bidouille dans le builder de la librairie ol.../build/build.php ou je replie les UTF-8 en ISO
Un certain nombre de ligens à enlever puis régénérer la librairie
// D'abord remplacer provisoirement les caractères qui ne passent pas dans le compresseur:

$carspe = array (
'à' => '@AG@',
'é' => '@EE@',
'è' => '@EG@',
'ù' => '@UG@',
'°' => '@DG@',
'à' => '@uAG@',
'é' => '@uEE@',
'è' => '@uEG@',
'°' => '@uDG@',
'ù' => '@uUG@',
);
$specar = array_flip ($carspe);

...

$c = str_replace ($specar, $carspe, $cf);
...
$c = str_replace ($carspe, $specar, $c);

Comme ce n'est pas grave, je propose d'attendre la mise en place, je purgerai à ce moment là
D'ailleurs, l'éditeur graphique de massif ne marche plus. Je ne touche pas pour le moment
Avatar du membre
Dominique
Messages : 3705
Enregistré le : 08 avr. 2006, 21:58

Message par Dominique »

Question bête: pourquoi n'annonces tu pas de charset ? UTF-8 est il implicite ?