使用powershell_ISE和SQL Server 2012。
我运行PowerShell脚本来生成电子邮件,我想在其中包含度数符号(°),但PowerShell用问号(?)替换它。
如果我使用下面的代码,我会在电子邮件中收到问号
$value = [string]([math]::Round($row.value, 2)) + " °C"
如果我在电子邮件的HTML
标记中使用学位符号,我会收到一个问号。
$emailDetails += "<td class=TableContent style='width: 100px; padding:5px;' align=center>$value" + " °C" + " </td>"
如果我将原始SQL查询中的值更改为
select tagname, (convert(NVARCHAR, ROUND(value, 2)) + '°C') as value, [description] from @t
猜猜是什么....当我把它输出到电子邮件时,我仍然会得到一个问号。
我正在使用Alt + 248键入度数符号。
任何想法?
答案 0 :(得分:1)
我找到了答案。
答案如下。
$emailDetails += "<td class=TableContent style='width: 100px; padding:5px;' align=center>$value°</td>"
通过从字符映射中选择Arial并将Hex结果更改为十进制来找到°
的176部分。因为这是一个内部系统,我知道电子邮件系统的默认字体,这将起作用。
答案 1 :(得分:-1)
我并不熟悉porwershell,但在html中(看起来你可以在你的情况下使用)你可以用°
键入一个度数符号。问号出现了,因为powershell无法识别度数符号的编码。
$emailDetails += "<td class=TableContent style='width: 100px; padding:5px;' align=center>$value °C </td>"