using Microsoft.SqlServer.TransactSql.ScriptDom; using SQLLinter.Common; using SQLLinter.Common.Helpers; namespace SQLLinter.Infrastructure.Rules; public class UnicodeStringRule : BaseRuleVisitor, IRule { public override string Text => "Использование символов Юникода в строке, отличной от Юникода"; public override void Visit(StringLiteral node) { if (node.IsNational) { return; } if (!IsAscii(node.Value)) { AddViolation(Name, Text, node.StartLine, node.StartColumn); } } private static bool IsAscii(string part) { return SQLHelpers.IsValidForEncoding(part, "windows-1251"); } }