Я пытаюсь обеспечить поддержку устаревшего веб-приложения ASP / MSSQL - я не участвовал в разработке программного обеспечения (компания, которая его создала, больше не существует), и я не являюсь администратором сервера где он размещен, я просто управляю хостингом для владельцев сайта через учетную запись посредника. Я также не являюсь разработчиком ASP (в большей степени PHP-разработчиком) и не настолько хорошо знаком с ним - с обновлениями строк подключения к БД после миграции сервера и т. Д.
Проблема в том, что рассматриваемый сайт хранит содержимое отдельных страниц в базе данных MSSQL, и большая часть содержимого содержит ссылки. Почти все внутренние ссылки на сайте имеют формат, подобный «main.asp? 123» (где «123» - это идентификатор строки базы данных). Проблема в том, что, начиная примерно с последних 8 месяцев или около того *, что-то заставляло ссылки в содержимом БД отображаться как «main.aspÀ123» вместо этого - другими словами, «?» символ заменяется символом «А» (заглавная буква А с серьезным акцентом). Что, конечно, нарушает все эти ссылки. Обратите внимание, что Stackoverflow не позволяет мне включать этот символ в заголовок сообщения, потому что кажется, что он указывает на то, что я пишу на испанском ...?
(* к сожалению, я не знаю сроков за это время, владельцы сайта не знали, когда проблема начала возникать, поэтому все, что мне нужно, - это снимок archive.org с прошлого октября, где он работал )
Я попытался вручную изменить "?" символ в одной из соответствующих записей БД для «?» (HTML-сущность для знака вопроса), но это не имело никакого значения. Я также проверил кодировку символов в HTML-коде, используемом для отображения содержимого, но это также не является причиной - те же файлы ASP содержат жестко запрограммированные ссылки на некоторые из тех же страниц (отформатированные точно так же) и те работают правильно: "?" не заменяется.
Я также подключился к базе данных напрямую с помощью приложения MSSQL Management Studio Express, но не смог найти какие-либо параметры кодировки / кодировки символов ни для базы данных, ни для таблицы.
И я пытался связаться с хостинг-провайдером, но они (M247 UK, на случай, если кому-то интересно) смехотворно бесполезны. Ответы от них были примерно такими: "durrrrrr, мы проверили совершенно другую ссылку, которая на самом деле не была той, которую вы четко описали И выделили на скриншоте, и она работает, когда мы проверяем неправильную ссылку, поэтому проблема должна быть решенным, верно? Достаточно сказать, что я не рекомендовал бы их - раньше был клиентом хостинга RedFox, и качество клиентов значительно упало с тех пор, как M247 купил их.
Есть предложения? Если бы это был PHP / MySQL, я бы, вероятно, начал с создания небольшого тестового сценария, который ничего не делал, кроме как извлекал одну из соответствующих записей и отображал ее содержимое, чтобы сузить проблему - но я не достаточно знаком с ASP, чтобы делать что здесь, по крайней мере, без достаточного количества googl'ing (и большая часть информации, которую я могу найти, специфична для ASP.net).
Редактировать: поток, предложенный в качестве решения, кажется, предназначен для проблем кодировки символов, когда записывает в MSSQL, а не читает из него - и я пробовал решения, предложенные в этом нить, никто не имеет никакого значения.