В молбата ми имам текстово поле, което приема символа unicode / non unicode.
Ако въведете някакъв unicode знак, той трябва да го потвърди срещу максималната дължина от 15.
Как мога да разгранича нормален текст и текст в Unicode, въведени в текстовото поле в c #? Независимо дали се нуждае от допълнителна дължина, например Размерите на сървъра varchar и nvarchar в сървъра на SQL се различават.
<asp:TextBox ID=txtInput runat="server" MaxLength="15" TextMode="MultiLine">
</asp:TextBox>
Как да ограничим дължината на текстовото поле спрямо символа с Unicode? Трябва ли да посоча отделна максимална дължина за низ Unicode и Unicode, така че да не надвишава максимум 15?
Отговори:
0 за отговор № 1Или използвате nvarchar
или varchar
, не е необходимо да използвате друга максимална дължина за Unicode.
ако използвате varchar
, тогава всеки знак на Unicode ще се счита за не-Unicode и преброяването няма да е различно.
ако използвате nvarchar
, тогава всеки знак ще се счита за Unicode и преброяването няма да бъде различно.
1 за отговор № 2
Как мога да разгранича нормален текст и текст в Unicode, въведени в текстовото поле?
string text = txtInput.Text;
foreach (char c in text)
{
int unicode = c
if (unicode > 128)
Console.WriteLine("character is unicode" + unicode);
}
и след това можете да потвърдите характера или всичко, което искате.