Powershell 度数符号

问题描述 投票:0回答:3

使用 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 输入度数符号。

有什么想法吗?

powershell
3个回答
1
投票

我找到了答案。

答案如下。

$emailDetails += "<td class=TableContent style='width: 100px; padding:5px;' align=center>$value&#176</td>"

&#176
的176部分是通过从字符映射表中选择Arial并将十六进制结果更改为十进制找到的。 因为这是一个内部系统,我知道电子邮件系统的默认字体,所以这可以工作。

enter image description here


0
投票

这对我有用:

Write-Output "Temperature is 40$([char]0176)C"

-1
投票

我不太熟悉 porwershell,但在 html 中(看起来你可以在你的情况下使用)你可以用

&deg;
输入度数符号。出现问号是因为 powershell 无法识别度数符号的编码。

$emailDetails += "<td class=TableContent style='width: 100px; padding:5px;' align=center>$value &deg;C </td>"

© www.soinside.com 2019 - 2024. All rights reserved.