Как заставить dojo.currency.format использовать правильный символ валюты при использовании пользовательской сборки dojo? - PullRequest
3 голосов
/ 15 декабря 2011

Когда я использую свою собственную сборку додзё, dojo.currency.format не использует правильный символ валюты.

Это утверждение, которое я использую:

dojo.currency.format(1234.567, {currency: "USD"});

Это результат использования стандартного релиза додзё:

"$1,234.57"

Это результат, когда я использую свою собственную сборку додзё:

"¤1,234.57"

Как я могу получить свою собственную сборку додзё для получения правильных результатов?

Ответы [ 2 ]

3 голосов
/ 15 декабря 2011

Я столкнулся с этой проблемой при первой попытке использовать сборку dojo. Это связано с кодировкой символов файлов. Проверьте кодировку символов в разархивированном выпуске (не исходный код). Сравните это с кодировкой символов файлов в невстроенном исходном коде, и кодировка файлов - это пользовательская сборка. Чтобы увидеть, если это проблема, (в Chrome) вы можете заставить браузер отображать содержимое в заданной кодировке. Вы можете попробовать это, чтобы увидеть, действительно ли это ваша проблема.

Простым решением этой проблемы (по крайней мере для меня) было установить charset для тегов сценария dojo

<script type="text/javascript" src="/path/to/dojo" charset="UTF-8"></script>

У Dojo есть пара из страниц по кодированию, на которые стоит взглянуть.

Если вы используете shrinksafe в сборке , вам также может понадобиться указать там кодировку:

java -jar -Dfile.encoding=UTF8 shrinksafe.jar
0 голосов
/ 15 декабря 2011

Имеет ли ваша сборка доступ к каталогу dojo / cldr / nls для файлов локализации вашей локали? Проверьте в Firebug, пытается ли он, но не загружает currency.js из указанного каталога.

...