J'ai quasiment le m=EAme souci que le message pr=E9c=E9dent ; sauf que pour
moi, le probl=E8me est plut=F4t au niveau de l'=E9criture dans mysql (inser=
t).
Voici mes =E9l=E9ments :
- je ne controle pas les donn=E9es source, je ne connais donc pas
forc=E9ment l'encodage des textes. J'utilise quand m=EAme HTML::Encoding
pour le d=E9tecter...
Donc, je souhaite avoir une bdd uniforme et de pr=E9f=E9rence en utf-8 (je
ne veux pas me retrouver avec tantot du iso et tantot du utf-8...)
- je peux choisir l'encodage de ma bdd mysql ; j'ai essay=E9
utf8_unicode_ci, utf8_general_ci, utf8_bin
- j'utilise la librairie DBI pour me connecter =E0 mysql
- la lecture de la bdd se fait par des scripts PHP et le header renvoi
les donn=E9es en utf-8 et l'encodage html est lui aussi utf-8
Donc, qu'est ce que vous me conseillez pour mon cas ?
Merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Nicolas George
Newsgroups wrote in message :
Donc, qu'est ce que vous me conseillez pour mon cas ?
Je ne connais absolument rien à mysql, donc je ne peux pas te conseiller à ce niveau. En revanche, une chose qu'il est important de surveiller au niveau de Perl, c'est que tous les scalaires contenant du texte Unicode renvoient bien vrai au test utf8::is_utf8. Si ce n'est pas le cas, c'est que Perl n'est pas informé de la nature des variables qu'il manipule, et ça va échouer quelque part.
Newsgroups wrote in message <1195986721.12338.10.camel@localhost>:
Donc, qu'est ce que vous me conseillez pour mon cas ?
Je ne connais absolument rien à mysql, donc je ne peux pas te conseiller à
ce niveau. En revanche, une chose qu'il est important de surveiller au
niveau de Perl, c'est que tous les scalaires contenant du texte Unicode
renvoient bien vrai au test utf8::is_utf8. Si ce n'est pas le cas, c'est que
Perl n'est pas informé de la nature des variables qu'il manipule, et ça va
échouer quelque part.
Donc, qu'est ce que vous me conseillez pour mon cas ?
Je ne connais absolument rien à mysql, donc je ne peux pas te conseiller à ce niveau. En revanche, une chose qu'il est important de surveiller au niveau de Perl, c'est que tous les scalaires contenant du texte Unicode renvoient bien vrai au test utf8::is_utf8. Si ce n'est pas le cas, c'est que Perl n'est pas informé de la nature des variables qu'il manipule, et ça va échouer quelque part.
Newsgroups
une chose qu'il est important de surveiller au niveau de Perl, c'est que tous les scalaires contenant du texte Unicode renvoient bien vrai au test utf8::is_utf8.
mon test me renvoi 1. En fait, j'ai fais le test suivant qui donne les résultats suivants : - dans la console, c'est ok,, il s'affiche : "INSERT INTO test (mot) VALUES ('éàçèîïùüû~#èì') --> 1"
#!/usr/bin/perl use lib::Common; binmode STDOUT, ":utf8"; use utf8; use DBI;
my $dsn = "DBI:mysql:database=".$database.";host=".$hostname; my $dbh = DBI->connect($dsn, $login, $password) or die "echec cnx";
$dbh->{"mysql_enable_utf8"} = 1;
my $q = "INSERT INTO test (mot) VALUES ('éàçèîïùüû~#è ì')"; print $q." --> ".utf8::is_utf8($q)."n";
my $sth = $dbh->prepare($q); $sth->execute();
une chose qu'il est important de surveiller au
niveau de Perl, c'est que tous les scalaires contenant du texte Unicode
renvoient bien vrai au test utf8::is_utf8.
mon test me renvoi 1.
En fait, j'ai fais le test suivant qui donne les résultats suivants :
- dans la console, c'est ok,, il s'affiche :
"INSERT INTO test (mot) VALUES ('éàçèîïùüû~#èì') --> 1"
une chose qu'il est important de surveiller au niveau de Perl, c'est que tous les scalaires contenant du texte Unicode renvoient bien vrai au test utf8::is_utf8.
mon test me renvoi 1. En fait, j'ai fais le test suivant qui donne les résultats suivants : - dans la console, c'est ok,, il s'affiche : "INSERT INTO test (mot) VALUES ('éàçèîïùüû~#èì') --> 1"