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

Visual Studio Code Discussion :

Windows Terminal UTF-8


Sujet :

Visual Studio Code

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Windows Terminal UTF-8
    Bonjour,

    Il y a pas longtemps j'ai installé Maven pour pouvoir faire mes projets JavaFX facilement sur VS Code, je travail en particulier sur une application qui me demande d'avoir des accents et caractère Japonais. Seulement lorsque je veux faire des test console les caractères ne s'affichent pas correctement. Je suis sous Windows 11 et le terminal utilisé est le CMD, quand je travail sur un autre poste linux (Debian) je n'ai aucun soucis d'encodage. Je me suis renseigné sans trouvé ma réponse.

    J'ai essayé d'installé l'extension powershell mais cela n'a pas l'air de fonctionner à moins que je fasse quelque chose mal.
    J'ai beau faire un chcp 65001 sur le terminal en cours d'execution j'ai toujours un soucis.

    Exemple :
    Je veux pouvoir afficher si ma connexion à la base de donnée s'est bien passé, je fais donc un "System.out.println("connexion réussie");" (l'accent n'est pas necessaire, c'est seulement pour l'exemple)
    l'output sur mon terminal est le suivant : "connexion rÚussie"
    Et si j'ai fait un chcp 65001 : "connexion r�ussie"

    Je précise pourtant dans mon POM.XML que le projet est en UTF-8 :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    <project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>apprendrelejaponais</groupId>
        <artifactId>apprendrelejaponais</artifactId>
        <version>1</version>
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <maven.compiler.source>11</maven.compiler.source>
            <maven.compiler.target>11</maven.compiler.target>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-controls</artifactId>
                <version>19</version>
            </dependency>
            <dependency>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-fxml</artifactId>
                <version>19</version>
            </dependency>
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>42.6.0</version>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.15</version>
                    <configuration>
                        <argLine>-Dfile.encoding=UTF-8</argLine>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.0</version>
                    <configuration>
                        <release>11</release>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.openjfx</groupId>
                    <artifactId>javafx-maven-plugin</artifactId>
                    <version>0.0.6</version>
                    <executions>
                        <execution>
                            <!-- Default configuration for running -->
                            <!-- Usage: mvn clean javafx:run -->
                            <id>default-cli</id>
                            <configuration>
                                <mainClass>apprendrelejaponais/apprendrelejaponais.ApprendreLeJaponais</mainClass>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </project>
    Si je peux vous fournir tout autres informations dites moi.

    Merci d'avance.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 070
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 070
    Points : 1 564
    Points
    1 564
    Par défaut
    à tester quelque chose comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PrintStream out = new PrintStream(System.out, true, "UTF-8");
    trouvé sur https://stackoverflow.com/questions/...system-console

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Merci pour cette solution mais celle-ci ne fonctionne pas.

    J'ai par exemple essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public static void main(String[] args) throws UnsupportedEncodingException {
            PrintStream out = new PrintStream(System.out, true, "UTF-8");
            out.println("connexion réussie");
            Passerelle.connexion();
            launch(args);
        }
    Et la console me retourne ça : connexion r├®ussie
    Que je sois en CHCP 65001 ou non.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 070
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 070
    Points : 1 564
    Points
    1 564
    Par défaut
    Tes fichiers sources sont bien en UTF-8 aussi?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Oui c'est bien le cas :

    Si je fais file -i sur un de mes fichier avec git Bash par exemple,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sacha@DESKTOP-ULUSME2 MINGW64 ~/Desktop/Dév/java_javaFX/apprendrelejaponais/src/main/java/apprendrelejaponais (main)
    $ file -i Passerelle.java
    Passerelle.java: text/plain; charset=utf-8
    Quand tu me dis mes fichiers sources tu parles bien de mes fichier dans mon src ? Ou d'autres fichiers en particulier ?

    Cependant en faisant un test (avec la commande file -i) dans mes fichiers.class dans le répertoire target de mon projet, ceux ci sont en binary :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sacha@DESKTOP-ULUSME2 MINGW64 ~/Desktop/Dév/java_javaFX/apprendrelejaponais/target/classes/apprendrelejaponais (main)
    $ file -i Passerelle.class
    Passerelle.class: application/x-java-applet; charset=binary
    C'est peut être ça qui créé les problèmes d'encodage ? Ce sont les fichiers que Maven génère automatiquement quand je run le projet. Il utilise peut être ces fichiers lorsque le projet tourne, d'où le problème ?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 070
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 070
    Points : 1 564
    Points
    1 564
    Par défaut
    non c'est normal, les .class sont des fichiers compilés, donc "binaire"

    Tu peux tester ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String str1 = "àéïô..."; 
    String str2 = new String(str1.getBytes(),Charset.forName("UTF-8"));
    https://forums.commentcamarche.net/f...dage-java-utf8

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Ha d'accord merci.

    Cette solution non plus ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String str1 = "àéïô..."; 
            String str2 = new String(str1.getBytes(),Charset.forName("UTF-8"));
            System.out.println(str2);
    output :
    ÓÚ´¶...

    output : (en chcp65001)
    ����...

    Je vais mettre des screen de mon écran peut être que ce sera plus simple pour comprendre le problème.

    Je travail avec mon cmd depuis vscode avec maven, on peut voir en bas à droite que je suis normalement en UTF-8 :
    Nom : image_2023-04-05_214444863.png
Affichages : 46
Taille : 191,6 Ko

    Voici les terminales disponibles ? :
    Nom : image_2023-04-05_214628211.png
Affichages : 45
Taille : 14,3 Ko

    Et voici l'output quand je lance mon projet (mvn javafx:run) :
    Nom : image_2023-04-05_214904768.png
Affichages : 45
Taille : 15,4 Ko

    Si jamais d'autres screen peuvent aider n'hésite pas à le dire.

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 070
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 070
    Points : 1 564
    Points
    1 564
    Par défaut
    comme ça semble plus relever du java que de VSCode, peut-être demander un déplacement dans la partie java du forum?

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 20
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    D'accord, merci beaucoup en tout cas !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 29
    Dernier message: 20/05/2020, 12h45
  2. Réponses: 5
    Dernier message: 13/09/2019, 12h37
  3. Lecture d'un fichier windows en UTF-16LE
    Par stephanerain dans le forum C++
    Réponses: 5
    Dernier message: 20/01/2012, 13h29
  4. Plus d'affichage de réception sous windows terminal de windows 95
    Par Daetheia dans le forum Windows 2000/Me/98/95
    Réponses: 3
    Dernier message: 25/11/2011, 17h37
  5. Qt Creator, Windows et UTF-8
    Par manudwarf dans le forum Qt Creator
    Réponses: 4
    Dernier message: 16/06/2010, 10h38

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