【问题标题】:how to change encoding of string variable to UTF8 in powershell如何在powershell中将字符串变量的编码更改为UTF8
【发布时间】:2018-10-22 13:54:47
【问题描述】:

在我的 PS 脚本中,我有一个字符串变量,后来用作 html 电子邮件的正文。我需要将变量的编码更改为 UTF8,以便文本在电子邮件中正确显示。该变量是在脚本中定义的,它不是从任何文件中读取的。 谁能帮我解决这个问题?

Encode a string in UTF-8 中的解决方案对我不起作用。

【问题讨论】:

  • Encode a string in UTF-8的可能重复
  • 字符串变量的“编码”不能改变。但也许这可以帮助你:stackoverflow.com/questions/16255487/encoding-to-utf-8-in-email
  • 变量的编码在内部是UTF-16,但应该没关系。字符串在概念上没有编码,直到它们在某些时候转换为字节。如果您收到“错误”字符,则需要确定将字符编码为字节可能出错的点。专注于变量是错误的做法。
  • 感谢您提出它可能对某些人有所帮助,我已经尝试了该解决方案但对我不起作用(在 UTF-8 中编码字符串)
  • 如果它对您不起作用,您必须在您的问题中详细说明究竟是什么不起作用。否则就不可能知道如何解决问题,除了改变变量的编码是不可能的,也不是解决方案。

标签: powershell


【解决方案1】:

我用 -encoding "UTF8" 解决了这个问题。

  Send-MailMessage    -From $FromEmail `
                -to $mailto `
                -Subject $mailSubject `
                -Body $EmailBody `
                -SmtpServer $SMTPHost `
                -port $SMTPPort `
                -UseSsl `
                -Credential $cred `
                -BodyAsHtml `
                -Encoding "UTF8"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 2016-12-21
    相关资源
    最近更新 更多