классический asp FormatNumber отображает специальный символ (Â) в качестве разделителя тысяч - PullRequest
3 голосов
/ 18 ноября 2011

У меня проблема с функцией FormatNumber в Classic ASP.

Когда используется эта перегрузка FormatNumber (cdbl (aRecs (3, i)), 0, 0, 0) , номер отображается нормально, например. 160 703

Однако, когда используется эта перегрузка FormatNumber (aRecs (3, i), 0, false, false, true), "0") , число появляется со специальным символом в качестве разделителя тысяч, например 160 Â 703

N / B: aRecs (3, i) относится к значениям, извлекаемым из набора записей (из базы данных).

На рабочем сервере (Windows Server 2008) все работает нормально , однако, когда я настраивал среду разработки (Windows 7, а также Windows Server 2008), это было, когда я получил эту проблему. Я попытался установить тысячу разделителей в моих региональных настройках, но безрезультатно

Я что-то упустил? Кроме того, это очень старый проект, и я не могу пойти и изменить все случаи вызовов этой функции.

Ответы [ 2 ]

3 голосов
/ 18 ноября 2011

Добавьте эту строку кода вверху вашей страницы: -

 Response.CharSet = "UTF-8"

Эта проблема обычно является результатом несоответствия между кодовой страницей ответа (в вашем случае я предполагаю 65001) и значением CharSet в заголовке типа контента. Обычно значение CharSet не передается, поэтому браузеры догадываются, обычно используя текущую локаль пользователя для определения кодовой страницы.

0 голосов
/ 29 января 2015

Используйте эти две строки вверху страницы, чтобы исправить эту ситуацию:

<%@ Language=VBScript codepage="65001"%>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...