货币符号在 textView 中的格式不正确?
Currency symbol not formatting correctly in a textView?
在我的应用程序中我有一条消息可以由用户自定义然后显示在应用程序中。
如果用户输入“£100”,则显示为“£100”?
我尝试使用包含此符号的字体,但它没有解决我的问题。
Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "arial_unicode.ttf");
alertTextView.setTypeface(font);
alertTextView.setText(message);
我尝试使用 *Arial Unicode MS、Verdana、Arial、Code2000...但问题仍然存在。
有什么想法吗?
使用 \u00A3
(lira) 之类的代码或尝试像这样更改字符串的编码:
byte[] myByteArray = message.getBytes(Charsets.UTF_8);
String encodedMessage = new String(myByteArray, Charsets.UTF_8);
alertTextView.setText(encodedMessage);
我解决了我的问题。
问题出在我如何在我的消息变量中获取和格式化这些数据的方式。
正如我在上面的评论中所说,我通过 API 从 Json 数据中获取此信息。此时,我使用的字符转换器不正确,我必须将其从 "iso-8859-1" 更改为 "utf-8" 才能正确读取我的货币符号。
在我的应用程序中我有一条消息可以由用户自定义然后显示在应用程序中。
如果用户输入“£100”,则显示为“£100”?
我尝试使用包含此符号的字体,但它没有解决我的问题。
Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "arial_unicode.ttf");
alertTextView.setTypeface(font);
alertTextView.setText(message);
我尝试使用 *Arial Unicode MS、Verdana、Arial、Code2000...但问题仍然存在。
有什么想法吗?
使用 \u00A3
(lira) 之类的代码或尝试像这样更改字符串的编码:
byte[] myByteArray = message.getBytes(Charsets.UTF_8);
String encodedMessage = new String(myByteArray, Charsets.UTF_8);
alertTextView.setText(encodedMessage);
我解决了我的问题。
问题出在我如何在我的消息变量中获取和格式化这些数据的方式。
正如我在上面的评论中所说,我通过 API 从 Json 数据中获取此信息。此时,我使用的字符转换器不正确,我必须将其从 "iso-8859-1" 更改为 "utf-8" 才能正确读取我的货币符号。