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

Scripts/Batch Discussion :

Problème encodage (caractères spéciaux) [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 352
    Points : 234
    Points
    234
    Par défaut Problème encodage (caractères spéciaux)
    Bonjour
    J'ai besoin de faire un script qui envoie des mails. J'ai un problème d'encodage.
    Du coup, j'ai fait un script tout simple qui envoie juste un mail, après avoir fait des recherches sur la toile.
    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
    Add-PSSnapIn Microsoft.SharePoint.PowerShell 
    clear-host
    
    [string]$dateLog = get-date -format "yyyyMMdd_HHmmss"
    [string]$ParamLogFile = "C:\Batchs\LOGS\testMail_" +$dateLog+".log"
    
    MessageLog("START")
    
    $EmailTo = "mondestinataire@mondomaine.com"
    $EmailFrom = "monexpediteur@mondomaine.com"
    $Subject = "test caractères spéciaux"
    $HtmlBody = "voici le body avec des caractères spéciaux"
    $SmtpHost = "**.**.**.**"
    MessageLog("EmailTo="+$EmailTo)
    MessageLog("EmailFrom="+$EmailFrom)
    MessageLog("Subject="+ $Subject)
    MessageLog("HtmlBody="+$HtmlBody)
    MessageLog("SmtpHost="+$SmtpHost)
    $encoding = [System.Text.Encoding]::UTF8
    Send-MailMessage -To $EmailTo -From $EmailFrom -Subject $Subject -Body $HtmlBody -BodyAsHtml -Encoding $encoding -SmtpServer $SmtpHost
    
    MessageLog("END")
    et ben ca marche pas !!! :-(

    titre : test caractères spéciaux
    body : voici le body avec des caractères spéciaux

    ou est-ce que j'ai merdé chef ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 281
    Points : 520
    Points
    520
    Par défaut
    salut rigol'man

    je viens de testé ton code et pas de problème de encodage

    peut être un problème d'encodage de ta console
    essai avec une des valeurs d'encode suivant :

    extrait de la doc :
    -Encoding <Encoding>
    Specifies the encoding used for the body and subject. Valid values are ASCII, UTF8, UTF7, UTF32, Unicode, BigEndianUnicode, Default, and OEM. ASCII is the default.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 352
    Points : 234
    Points
    234
    Par défaut
    salut
    qu'est ce que tu entends par la ?
    Citation Envoyé par 6ratgus Voir le message
    peut être un problème d'encodage de ta console
    il faut savoir que je suis novice en powershell donc désolé si j'écris des aneries .....
    ensuite, j'ai remarqué que dans ma log, les caractères spéciaux ne passent pas non plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Function MessageLog ([string]$info) {
    	[string]$dateEvtLog = get-date -format "dd/MM/yyyy HH:mm:ss"
    	$NewLogLine = ""
    	$NewLogLine = $dateEvtLog+" - " + $info
    	 
    	# Add to logfile
    	$NewLogLine >> $ParamLogFile
    }
    $Subject = "test caractères spéciaux"
    MessageLog("Subject="+ $Subject)
    me donne : test caractères spéciaux

    une idée ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 281
    Points : 520
    Points
    520
    Par défaut
    une idée ?
    oui test cette ligne a exécuté au début de ton script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding(437)
    plus d'info ici

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 352
    Points : 234
    Points
    234
    Par défaut
    Citation Envoyé par 6ratgus Voir le message
    oui test cette ligne a exécuté au début de ton script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding(437)
    plus d'info ici
    J'ai rajouté ca comme demandé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding(437)
    echo "test caractères spéciaux"
    résultat :
    test caractA"res spAcciaux

  6. #6
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 281
    Points : 520
    Points
    520
    Par défaut
    c'est mieux !!!
    il te reste plus qu'a trouvé le bon code page
    tout dépend de ton éditeur de script, lequel utilise tu ? l'ISE, PowerGUI, Notepad, Notepad++, Notepad2 ou autre

    test avec les codes 850 ou 1252 assez courant

    quand ta trouvé le bon codepage tu fait ça :
    avec le bon codepage bien sur !!

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 352
    Points : 234
    Points
    234
    Par défaut
    Citation Envoyé par 6ratgus Voir le message
    tout dépend de ton éditeur de script, lequel utilise tu ? l'ISE, PowerGUI, Notepad, Notepad++, Notepad2 ou autre
    j'utilise notepad++

  8. #8
    Membre confirmé
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2012
    Messages : 281
    Points : 520
    Points
    520
    Par défaut
    tu a un menu encodage qui doit avoir "Encoder en UTF8 (sans BOM)" de sélectionné sauf erreur !
    clique sur convertir en UTF8 ou en ANSI puis sauvegarde (si les caractères accentué sont bon)
    relance le script sans le : [Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding(437) est tous devrais être bon !!!

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2013
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2013
    Messages : 352
    Points : 234
    Points
    234
    Par défaut
    magnifique, t'es un as !!!!! Merci !!!!!

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

Discussions similaires

  1. Problème encodage caractères spéciaux
    Par tomy29 dans le forum Struts 1
    Réponses: 9
    Dernier message: 08/01/2012, 11h49
  2. Problème encodage caractéres spéciaux MYSQL avec juste &
    Par EDrequest dans le forum Requêtes
    Réponses: 5
    Dernier message: 15/05/2010, 10h06
  3. Probléme encodage caractéres spéciaux MYSQL
    Par FoxLeRenard dans le forum Installation
    Réponses: 1
    Dernier message: 20/02/2006, 12h10
  4. [SOAP] problème de caractères spéciaux
    Par ep31 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 02/12/2005, 17h43
  5. [SQL Server] problème de caractères spéciaux
    Par mbibim63 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 02/06/2005, 18h38

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