Как декодировать специальные символы (нечитаемый пустой квадрат) в c #? - PullRequest
0 голосов
/ 26 марта 2012

У меня есть проблема, которую я могу решить, мне нужно заменить нечитаемые символы (я не могу вставить ее здесь, поскольку она не учитывается, но в визуальном отладчике C # она выглядит как пустой квадрат.

Когда они вставляются в базу данных sql, они заменяются на?, Но я не хочу этого ... Я пытался сделать простую замену в строке, но Visual C # делает вставку таких символов невозможной.

Ответы [ 2 ]

0 голосов
/ 26 марта 2012

Вы можете заменить любой символ, если вам известен только код символа Unicode:

s = s.Replace('\u0080', ' ');

Вы можете использовать регулярное выражение для замены любого символа вне набора разрешенных символов:

s = Regex.Replace(s, @"[^0-9A-Za-z]", " ");

Другой альтернативой является использование в базе данных типа данных Юникод, чтобы он мог обрабатывать любой символ, который есть в вашей строке.

0 голосов
/ 26 марта 2012

Вы не можете. Когда вы видите красные квадраты, вы уже потеряли соответствующую информацию о персонаже и не можете преобразовать их обратно.

...