"Произвольный" битый символ в верстке aps.net

78 views
Skip to first unread message

Yuri Fedoseev

unread,
Aug 22, 2014, 4:10:31 AM8/22/14
to dotne...@googlegroups.com
Всем привет. Недавно столкнулись с "плавающим" багом, который воспроизводится только на продакшене. На некоторых страницах произвольно портится один кириллический символ: �. Причем только один и его появление зависит от строки http-респонса с версткой. (IIS 8 - Winserver 2012)
Написал консоль и разобрал респонс побайтово и что получилось: 
У нас вся страница отдаётся в UTF-8. Русский символ представлен 2 байтами: например буква Е - "d0 95". Как получается битый символ - в респонсе почему теряется первый байт - d0 от русского символа и он становится битым. Это происходит, если этой байт является примерно 18-тысячным с начала. Если же в верстку немного поменять и сделать так, что 18-тысячный символ будет латиница, то все ок - никаких битых символов. Т.е. портится только в одной позиции респонса. Проблема еще в том, что ни на тестовых стендах, ни локально эта проблема не воспроизводится.
Результаты гугления привели к двум возможным причинам:
1. Неправильно указано длина контента для gzip и при раззиповке мы получаем ошибку как раз на указанной длине контента. На практике отключали gzip - все равно символ проблема остаётся.
2. На stackoverflow был ответ, что помогла переустановка модуля URL Rewrite - сделали, но символ все равно остался.
Если вдруг, кто сталкивался с подобной проблемой, то буду признателен за помощь.

Oleg Karpov

unread,
Aug 22, 2014, 8:31:55 AM8/22/14
to dotne...@googlegroups.com
Юрий, не понял я как вы тестируете повторение проблемы на других стендах? Что будет на выходе, если в серверном коде в Response записать 20000 символов Е - "d0 95", не забыв указать при этом в заголовке UTF-8?

пятница, 22 августа 2014 г., 12:10:31 UTC+4 пользователь Yuri Fedoseev написал:

Yuri Fedoseev

unread,
Aug 22, 2014, 9:53:39 AM8/22/14
to dotne...@googlegroups.com
На тестовом стенде будет 20 000  символов E, т.к. на тестовом никогда это не воспроизводится
На боевом попробую.



22 августа 2014 г., 16:31 пользователь Oleg Karpov <menoz...@gmail.com> написал:

--

---
Вы получили это сообщение, поскольку подписаны на группу "dotnetconf".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес dotnetconf+...@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

Артём Мурадов

unread,
Dec 9, 2014, 1:57:57 PM12/9/14
to dotne...@googlegroups.com
Столкнулся с аналогичной проблемой. Как решили?

пятница, 22 августа 2014 г., 19:53:39 UTC+6 пользователь Yuri Fedoseev написал:
Reply all
Reply to author
Forward
0 new messages