Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

demande conseil (correction charactères)

2 réponses
Avatar
unbewusst.sein
bon, j'ai une base assez petite qui contient mes bookmarks.

il y a pas mal d'erreur d'encodage, je ne sais d'où ça provient,
utilisant toujours UTF-8...

ce que je me propose de faire :

utiliser le dump de la base (réalisé avec phpMyAdmin)

dans ce fichier *.sql, ouvert dans un éditeur de texte quelconque
(TextMate) je corrige "à la main" (par Find "é" Replace "é").

je DROP la table et je réinserre la table corrigée.

en gardant les mêmes ID (en fait j'ai deux tables : folders et
bookmarks, faudrait que ça corresponde...)

le problème est que les tables sont en "auto_increment" :

CREATE TABLE IF NOT EXISTS `bookmarks` (
`id` int(10) unsigned NOT NULL auto_increment,
`folder_id` int(10) unsigned NOT NULL,
`name` varchar(255) collate utf8_unicode_ci NOT NULL,
`url` varchar(255) collate utf8_unicode_ci NOT NULL,
`description` varchar(2048) collate utf8_unicode_ci default NULL,
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
AUTO_INCREMENT=681 ;

j'imagine que je dois -- au moins -- mettre (dernère ligne ci-dessus) à
:
AUTO_INCREMENT=0;

???

un pb potentiel ?
une idée plus élégante ? (=> chercher la cause du pb...)

je viens de vérifier un truc, en réalité mes deux tables sont issues
d'un fichier xml qui lui, n'a pas ces erreurs d'encodage :[

donc dans ma manip ci-dessus, je risque de me retrouver avec les mêmes
erreurs d'encodage...

du coup, je ne sais plus trop quoi faire...

é changé en é c'est bien de l'utf-8 pris pour de l'iso non ? (deux
caractères au lieu d'un seul)

l'affaire se corse...

cette base je peux l'interroger par php

si je fais une recherche d'un bookmark dont le dump phpMyAdmin me dit
qu'il y a une erreur d'encodage, patatraque, pas d'erreur d'encodage sur
ma page, qui est elle-même en UTF-8 ???

pour être clair, dans le dump j'ai :
'UCL/SRI - Logiciel Internet Macintosh en français'
----------------------------------------------^^----

à l'affichage html :
UCL/SRI - Logiciel Internet Macintosh en français
---------------------------------------------^---

idem dans le fichier xml original...

c'est donc le dump qui déconne (je réfléchis tout haut).


j'avais déjà remarqué que, pour une autre base, l'affichage dans
phpMyAdmin pouvait-être correct alors que la base, cette fois-ci,
interrogée en php donne des erreurs d'encodage...

notez que je n'ai pas bien pigé à quoi sert le "collate
utf8_unicode_ci"...
--
Une Bévue

2 réponses

Avatar
Jogo
Sur fr.comp.applications.sgbd, Une Bévue disait :

c'est donc le dump qui déconne



Je pense même qu'il n'y a que le logiciel que tu utilises pour
visionner le dumpfile en question qui ne pige pas que c'est de l'UTF-8.

--
I can't understand why a person will take a year or two to write a
novel when he can easily buy one for a few dollars.
-- Fred Allen
Avatar
unbewusst.sein
Jogo wrote:


Je pense même qu'il n'y a que le logiciel que tu utilises pour
visionner le dumpfile en question qui ne pige pas que c'est de l'UTF-8.



c'est TextMate (sur Mac OS X 10.4.11) il m'indique UTF-8, en général
j'ai confiance en la détection d'encodage sur TextMate...
--
Une Bévue