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

Modules Perl Discussion :

Perl 5.8 et utf-8


Sujet :

Modules Perl

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 210
    Points : 99
    Points
    99
    Par défaut Perl 5.8 et utf-8
    Bonjour j'ai un gros problème avec l'utf-8 depuis que je suis passé a perl 5.8.8, je stocke dans une base de données du texte que j'encode en utf-8

    voici mon script de teste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    #!G:/PROGRA~1/Perl/bin/perl.exe -w
    use DBI;
    use Encode;
    use LWP::Simple;
    require HTML::TreeBuilder;
    require HTML::FormatText;
     
    my $data = get("<a href="http://www.xys.org/pages/luxun.html" target="_blank">http://www.xys.org/pages/luxun.html</a>");
    my $tree = HTML::TreeBuilder->new;
       $tree->parse($data);
    my $formatter = HTML::FormatText->new;
      $data = $formatter->format($tree);
     
    my $DSN = 'driver={SQL Server};Server=VISTA\MSSQL; database=test; uid=sa;pwd=2658;';
    my $dbh = DBI->connect("dbi:ODBC:$DSN", { odbc_cursortype => DBI::SQL_CURSOR_DYNAMIC, AutoCommit => 0 } );
     
    $data = encode("utf8", $data);
    my $i = $dbh->prepare("insert into utf(texte) values(?)");
       $i->execute($data);
    voici ma table sous ms sql server

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    create table utf (
      id int identity(1,1),
      texte ntext not null,
    )
    Avec mon ancièenne version de perl les caractères encoder grace aux modules Encode etait insérié comme il le fallait dans sql serveur et il suffisait de faire ceci pour s'en rendre compte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    #!G:/PROGRA~1/Perl/bin/perl.exe -w
    use DBI;
    my $DSN = 'driver={SQL Server};Server=VISTA\MSSQL; database=test; uid=sa;pwd=2658;';
    my $dbh = DBI->connect("dbi:ODBC:$DSN", { odbc_cursortype => DBI::SQL_CURSOR_DYNAMIC, AutoCommit => 0 } );
       $dbh->{LongReadLen} = 100000000;
       $dbh->{LongTruncOk} = 1;
    my $i = $dbh->prepare("select * from utf");
       $i->execute;
     
     
     
    print "Content-type: text/html\n\n";
    print "<html>\n";
    print "<head>\n";
    print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n";
    print "</head>\n";
    print "<body>\n";
    while(my $rows = $i->fetchrow_hashref()) {
      print "==========================================\n";
      print "$rows->{'texte'}\n";
      print "==========================================\n";
    }
    print "</body>\n";
    print "</html>\n";
    seulement sous perl 5.8 les caractères sorte mal , ils ne sont pas "normaux" voici deux petit screenshot le probème est flagrant






    Quelqu'un aurait'il un début de réponse parce que je vais bientot péter un boulon la dessus

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 210
    Points : 99
    Points
    99
    Par défaut
    Personne n'aurais un début d'idée parce que je seche completement la dessus sa marchais bien avec perl 5.6 et 5.7 mais la non

Discussions similaires

  1. [langage] Comparer Perl avec d'autres langages comme C ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 10/08/2002, 23h52
  2. [langage] Inclure de perl en c !!!
    Par ryo00 dans le forum Langage
    Réponses: 2
    Dernier message: 30/05/2002, 10h03
  3. Réponses: 2
    Dernier message: 30/05/2002, 08h54
  4. [réseaux] Bench en Perl pour avoir le débit entre 2 pc
    Par Frich dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 22/05/2002, 17h22
  5. [web] Cherche un conseil pour un livre perl-tk
    Par Anonymous dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 29/04/2002, 15h35

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