Voici un script exemple qui a pour but de créer un répertoire C:/âme quand on clique sur le bouton.
Il y a des accents dans le nom du répertoire et sur la fenêtre Tk.
On remarquera que les accents s'affichent bizarrement.
Le script est au format utf8.

âme = âme

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
26
27
28
29
30
#!/usr/bin/perl
use warnings;
use strict;
use Tk;    # Appel du module Tk
 
 
# Programme principal
# Création de la fenêtre
my $fenetre = new MainWindow(
  -title      => "Première fenêtre Tk ",
  -background => "white",
); 
 
# Taille minimale de ma fenêtre   
$fenetre->minsize(300,100);
 
my $MessageAccueil = "TéTé âme\n\n";
# Affichage d'un texte   
my $LabelAccueil = $fenetre->Label( 
  -text       => $MessageAccueil,
  -background => "white",  
)->pack();
 
# Affichage d'un bouton pour fermer la fenêtre
my $bouton = $fenetre -> Button (
    -text    => "Créer répertoire (C:/âme)", 
	-command => sub { mkdir("C:/âme"); },
)->pack();
 
MainLoop();  # Obligatoire
Si je lance ce script et clique sur le bouton, il me crée un répertoire C:/âme, mais moi je veux âme.

je rajoute donc dans le script.
Du coup, dans ma fenêtre TK, tous les accents sont correct;
Mais j'ai toujours un répertoire C:/âme qui se crée

j'essaye d'utiliser le module encode et je modifie donc
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
mkdir( encode("latin1", decode( "utf8", "C:/âme" ) ) ) or die("C:/âme $!");
mais ça ne fonctionne toujours pas, il ne crée plus rien vu qu'en sorti dans les caractères bizarre remplaçant â, il y a une parenthèse.

comment faire pour utiliser use utf8; et ensuite reconvertir un string en latin1 afin de créer un répertoire C:/âme par exemple proprement.

Merci