Я использую скрипт PowerShell для автоматического шифрования определенных разделов моего web.config после развертывания моего WebApplication с помощью управления выпуском. В этом сценарии PowerShell я использую Aspnet_regiis.exe для выполнения шифрования для меня следующим образом:Использование aspnet_regiis.exe для шифрования web.config изменяет знак евро на тарабарщину
$AspNetRegIisLocation = "C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe"
& $AspNetRegIisLocation -pef $configSection $configPath
$configSection
С и $configPath
быть правильно определена, так как шифрование успешно работает. К сожалению, это приводит к тому, что знак евро в одном из незашифрованных разделов может быть поврежден с <sharedSettings currencyFormat="{0:€ #,##0}" />
до <sharedSettings currencyFormat="{0:€ #,##0}" />
.
Я попытался выйти из знака евро как €
и установить encoding="utf-8"
как вкл, так и в верхней части моего web.config. Ни один из этих решений не работал, и я немного потерял то, что я могу сделать, чтобы это не произошло снова, за исключением того, что скрипт копировал все разделы до шифрования и повторного вставки незашифрованных разделов.
Редактировать: Когда этот раздел также зашифрован, отображаемый текст на веб-сайте также «поврежден», что означает, что решение «вставить незашифрованные разделы позже» не решит случай, когда проблема возникает в зашифрованном виде раздел.