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

Langage PHP Discussion :

Dysfonctionnement dû à l'encodage de fichier


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 65
    Points : 31
    Points
    31
    Par défaut Dysfonctionnement dû à l'encodage de fichier
    Bonjour.

    Sa faisais un moment que je suis pas allé modifier mon site sur cpanel et hébergement.

    Quand je crée un fichier, il y a un problème d'encodage de caractère.

    Je veux écrire
    bêta
    mais quand j'"accède a la page sa m’affiche
    bêta
    Pourriez vous svp m’aider car sa comment un peu long les recherches, et aucune solution visible.

    Merci

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 269
    Points : 8 568
    Points
    8 568
    Billets dans le blog
    17
    Par défaut
    C'est un problème de codage.

    Quel est le charset de ta page ? Il faut le déclarer correctement, généralement avec <meta charset="utf-8"> dans le <head>.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 65
    Points : 31
    Points
    31
    Par défaut
    Bonjour.

    ma page est en UTF-8

    Et c'"est juste un texte dans .txt file uploader dans on hébergeur

    JE vois vraiment pas d’où sa viens.

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 853
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 853
    Points : 44 222
    Points
    44 222
    Par défaut
    Le fichier txt ne doit être mal encodé.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 65
    Points : 31
    Points
    31
    Par défaut
    J'ai jamais rencontré se genre de problème.

    Sa fait 25 ans que je crée des fichiers de tout type et jamais eu de problème.

    Il me faut du UTF8 sans BOM.

    Je sais pas le convertir car sous notepad++ il y a pas écrit UTF8 SANS BOM.

    Sa m'affiche :
    Je pense que sa viens de l’hébergeur.

    Je m'en remet a vous.

    Merci

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 269
    Points : 8 568
    Points
    8 568
    Billets dans le blog
    17
    Par défaut
    Je pense que sa viens de l’hébergeur.
    Et donc toutes tes pages ont un problème de codage ?
    Que donne echo ini_get('default_charset'); ?

    Le problème arrive avec tous les fichiers ou bien 1 seul fichier en particulier ?

    Voir mb_convert_encoding() pour convertir le contenu du fichier
    => https://www.php.net/manual/fr/functi...t-encoding.php

    Je sais pas le convertir car sous notepad++ il y a pas écrit UTF8 SANS BOM.
    Je ne pourrais pas t'aider sur ce logiciel qui m'est interdit, et par ailleurs probablement obsolète.
    Voir VS Code.

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 65
    Points : 31
    Points
    31
    Par défaut
    Merci.

    Le problème proviens seulement sur les fichier .txt avec que du texte.

    En essayant avec du html en déclarant le charset cela fonctionne.

  8. #8
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 112
    Points : 16 646
    Points
    16 646
    Par défaut
    Citation Envoyé par Yu-Chan Voir le message
    ....
    Je sais pas le convertir car sous notepad++ il y a pas écrit UTF8 SANS BOM.
    ....
    Salut
    Pour la conversion sous notepad++, choisir Convertir en UFT-8 (= conversion sans bom).

    Nom : ExpliqueUFT8.jpg
Affichages : 157
Taille : 53,9 Ko

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 65
    Points : 31
    Points
    31
    Par défaut
    Ok merci.

    C'est déjà essayé et rien n'y fait

  10. #10
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 853
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 853
    Points : 44 222
    Points
    44 222
    Par défaut
    Ca ne vient pas de l'hébergeur.

    C'est applicatif. Tu vas avoir un encodage par défaut (UTF-8 en général maintenant), tu peux l'indiquer (comme avec l'exemple de Seb). le BOM permet de détecter un encodage UTF. Sans celui-ci, ton applicatif va utiliser celui par défaut, les fonctions tels que mb_detect_encoding peuvent essayer de détecter l'encodage probable.

  11. #11
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 269
    Points : 8 568
    Points
    8 568
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Yu-Chan Voir le message
    Le problème proviens seulement sur les fichier .txt avec que du texte.
    Quel est le codage de tes fichiers .txt ? Comment sont-ils produits ?
    Tu as des fichiers .txt qui ne contiennent pas que du texte ?
    Quels traitements sont appliqués lors de l'upload / du transfert de tes fichiers .txt ?

    PS : tu n'as pas donné le codage de l'hébergement

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 65
    Points : 31
    Points
    31
    Par défaut
    Tout est en UTF-8

    Cela marche pas que sur des fichiers .txt

    Le meme en fichier en php ne rencontre pas de problem.

    Pour le .txt j'abandonne, sa fait trop de jours que je bloque dessus.
    Pour info je fais les fichiers sur VS Code, file manager depuis le cpanel et le notepadd++, j'ai tout essayé.

    Pour le reste de mon probleme c'est AUTOIT.

    J'ai sa :
    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
     
    Func _News()
     
    	Local $dData = InetRead('https://www.newsletterXX.com/news.php')
    	If @error Then ConsoleWrite('Error: InetRead - ' & @error & @CRLF)
    	Local $sData = BinaryToString($dData, 4)
    	Local $iDelete = FileDelete(@ScriptDir & '\news.php')
    	Local $hFile = FileOpen(@ScriptDir & '\news.php', 259)
    	FileWrite($hFile, $sData)
    	FileClose($hFile)
    	Local $aArray = IniReadSection(@ScriptDir & '\news.php', 'NEWS')
    	If @error Then ConsoleWrite('Error: IniReadSection - ' & @error & @CRLF)
     
    	    For $i = 0 To UBound($aArray) - 1
    			$previousJournalNews = GUICtrlRead($journalNews)
     
    			If $aArray[$i][1] <> "" Then 
    				GUICtrlSetData($journalNews, $aArray[$i][1]  & @CRLF, 0)
    			EndIf 
        Next
     
    EndFunc
    Et j'ai encore ce problem d'encodage dans le soft
    Nom : error encodage app.jpg
Affichages : 149
Taille : 7,0 Ko

    Voila, je pense que je vais devoir refaire un topic avec ce probleme. Mais tout est la en claire

  13. #13
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 269
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 269
    Points : 8 568
    Points
    8 568
    Billets dans le blog
    17
    Par défaut
    Difficile d'avoir une info complète

    Maintenant on apprend que les fichiers viennent de https://www.newsletterXX.com/news.php et passent par du AutoIt.
    Quel est le codage des fichiers sur https://www.newsletterXX.com/news.php ?
    Qu'indique VS Code sur le codage des fichiers ? Il faut remonter toute la chaine et nous donner les infos précisés à chaque étape.
    Doit y avoir un double codage quelque part (et on ne sait toujours pas le default_charset de l'hébergement...)


    Selon la doc AutoIt ( https://www.autoitscript.fr/autoit3/...s/FileOpen.htm ), je ne comprend pas trop ce que tu veux faire avec le mode 259 :

    Local $hFile = FileOpen(@ScriptDir & '\news.php', 259)

    $FO_APPEND (1) = Mode écriture (ajoute à la fin du fichier)
    $FO_OVERWRITE (2) = Mode écriture (efface le contenu précédent)
    $FO_UTF8_NOBOM (256) = Utilise l'Unicode UTF8 (sans BOM) en mode lecture-écriture.

    1 + 2 => Se contredisent, non ?

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 65
    Points : 31
    Points
    31
    Par défaut
    Le codage par defaut est UTF8.

    Coté AUTOIT, les accents fonctioennent mais pas pour les item list.
    Je sais pas pouquoi

Discussions similaires

  1. [VB.NET]encodage de fichiers en ANSI
    Par m-mas dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 12/02/2007, 11h12
  2. Problème d'encodage de fichier
    Par djanggawul dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 03/01/2007, 21h26
  3. Déterminer l'encodage du fichier texte
    Par ze.Ninus dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2006, 17h43
  4. encodage des fichier .html
    Par rasleboldesid dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 30/08/2006, 08h23
  5. [Eclipse 2.1] Encodage des fichiers pour un projet
    Par _-Sky-_ dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 26/05/2005, 23h26

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