android - 英镑标志被腐蚀

Mar*_*tyn 0 java encoding android

我有例程根据输入的国家代码传回货币符号,但英镑符号已损坏,我不知道为什么.我传入时accountCurrency="GBP",而不是预期的"£" ,而是返回"£".怎么了?

public static String findCurrencySymbol(String accountCurrency) {
    if (accountCurrency == null || accountCurrency.trim().length() == 0) {
        return "";
    }

    String curr = accountCurrency.toUpperCase();
    if ("GBP".equals(curr)) {
        return "£";
    } else if ("USD".equals(curr)
            || "AUD".equals(curr)
            || "CAD".equals(curr)
            || "SGD".equals(curr)) {
        return "$";
    } else if ("EUR".equals(curr)) {
        return "€";
    } else {
        // return raw currency code with whitespace attached
        // should lead to display like: "YPY 12440.00"
        return accountCurrency + " ";
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:其他值按预期返回.

cha*_*sis 5

可能是你从某些word文档中复制/粘贴了英镑符号以及一些不可打印的字符?我见过这发生了很多.

如果用符号的unicode值替换它会发生什么:"\ u00A3"?