WebService: разница между моим компьютером и сервером - PullRequest
0 голосов
/ 26 июня 2009

У меня есть ошибка, при которой специальные символы (в данном случае датские 'ø') отображаются правильно при локальном запуске, но не так, когда код выполняется на сервере (я получаю канал '|'). Я пытался решить это сегодня, но у меня не было доступа к серверу, кроме обновления файлов кода. У меня будет ограниченный доступ в понедельник, поэтому я могу, по крайней мере, записать промежуточные результаты в файл журнала, но чтобы подготовиться, я подумал, что попрошу предложения здесь.

Программный поток:

Тест C # вызывает мой собственный веб-сервис через WebRequest. Этот веб-сервис вызывает внешний веб-сервис через другой веб-запрос.

При локальном запуске собственного веб-сервиса я получаю правильные результаты, полученные от внешнего веб-сервиса.

При развертывании кода на сервере внешний веб-сервис возвращает ошибку; он не нашел слова, которое я искал. За исключением того, что я вошел в «Bøssemagergade», но слово, на которое он жалуется, возвращается как «B | ssemagergade». Что может вызвать эту разницу? AFAIK сервер работает с теми же региональными настройками, что и мой локальный компьютер.

Я уверен, что это обычные вещи, но я раньше не пользовался веб-сервисами (хотя я чувствую себя как дома с C # /. NET и знаю о кодировках и т. Д.).

Спасибо!

1 Ответ

0 голосов
/ 26 июня 2009

Вам необходимо проверять свои данные на каждом этапе процесса. Убедитесь, что вы понимаете, какую кодировку вы используете (постарайтесь избегать использования Encoding.Default) и проверьте двоичные данные, передаваемые по проводам, с помощью чего-то вроде WireShark .

См. Мою статью по устранению неполадок Unicode для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...