c# - 英镑符号在正则表达式中显示为?
问题描述
我一直在用头撞墙,试图解决这个问题。当我尝试输入英磅符号作为密码的一部分时,发送密码时,用户收到的密码带有?而不是£....
<asp:RegularExpressionValidator
ID="RegularExpressionValidator1"
ValidationExpression="^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,15}$"
ErrorMessage="Passwords must be 8 characters min, must contain digits, special characters and upper and lower characters"
Display="Dynamic"
ControlToValidate="tbPass"
runat="server"
ForeColor="red">
</asp:RegularExpressionValidator>
所以,如果有人要求,我想要一个包含井号的密码发送......
我尝试使用 £ 并尝试在上面输入 163 .. 但密码仍然缺少 £ 并被替换为 ?.. 我知道这是编码或其他东西,但我不知道如何更改它。
解决方案
我假设您的密码存储在 UTF-8 编码以外的字符串中。如何更改您可以在此处看到的编码:如何在 C# 中将字符串转换为 UTF-8?