Отсутствующие символы валюты на сервере Linux - PullRequest
1 голос
/ 11 февраля 2011

У меня есть Java-приложение, которое должно отображать символы валюты. Я работаю на сервере Linux (Ubuntu).

На сервере Linux LANG = en_GB.UTF-8

Следующий код проверяет проблему:

import java.util.Currency;
import java.util.Locale;
import java.text.NumberFormat;

public class SymbolTest
{
  public static void main(String[] args)
  {
    System.out.println("Hardcoded Unicode Currency Symbol for GBP [\u00A3] ");
    System.out.println("Currency Symbol for GBP with Locale [" + Currency.getInstance(Locale.UK).getSymbol() + "]");
    System.out.println("Currency Symbol for US with Locale [" + Currency.getInstance(Locale.US).getSymbol() + "]");
    System.out.println("Currency Symbol for FRANCE with Locale [" + Currency.getInstance(Locale.FRANCE).getSymbol() + "]");
  }
}

дает вывод:

Жестко закодированный символ валюты Unicode для GBP £ 1010 *

Символ валюты для GBP с локалью [Â £]

Символ валюты для США с локалью [USD]

Символ валюты для ФРАНЦИИ с локалью [â¬]

Я подозреваю, что это проблема локали или языка на сервере Ubuntu. Что я должен установить / настроить на сервере Linux для отображения символов валюты?

Ответы [ 2 ]

3 голосов
/ 01 марта 2011

Ваша программа правильно пытается вывести UTF-8, но ваш терминал явно не знает, что он должен быть в режиме UTF-8. Так что ваш терминал виноват здесь. Какой терминал вы используете?

Попробуйте перенаправить вывод программы в файл и откройте этот файл с помощью редактора с поддержкой UTF-8, чтобы убедиться в правильности вывода.

0 голосов
/ 11 февраля 2011

Я предполагаю, что проблема, вероятно, связана с тем, как вы на самом деле форматируете число или локаль, а не шрифт.Посмотрите справку Grails о форматировании чисел как валюты и java.util.Currency API doc для получения дополнительной информации.Быстрый способ исключить проблему, связанную со шрифтами, - это просто набрать (скопировать и вставить, если необходимо) символ, который вам нужен, в GSP и убедиться, что вы можете просмотреть его в браузере:

  • $
...