在字符串 .xml 中使用 Unicode 字符

Use Unicode characters in strings.xml

提问人:Foobar 提问时间:4/17/2016 最后编辑:Foobar 更新时间:1/4/2021 访问量:58163

问:

我有以下 unicode 字符,我想在字符串中使用: 🚕

我通过这个找到了它的十六进制和十进制代码:

虽然我知道如何通过这样做在字符串中使用“&”符号:strings.xml

    <string name="Example">Example character &amp;</string>

我不能使用汽车符号。

如何在 strings.xml 的字符串中使用此 unicode 字符?

更新一:

按照使用它的第一个解决方案: 我收到以下错误:&#128663; ERROR IN APPLICATION: input is not valid Modified UTF-8:

Android 字符串 Unicode

评论

0赞 Vivek Mishra 4/17/2016
&符号由此表示&amp;
0赞 Foobar 4/17/2016
@VivekMishra 对不起,我会解决这个问题。
1赞 Ganesh Pokale 7/24/2019
<string name=“edit”></string> 🚕

答:

0赞 badperson 4/17/2016 #1

我认为您在示例中的代码点是一个省略号。根据此页面,请尝试

    &#128663;

评论

1赞 Foobar 4/17/2016
这不起作用,我收到此错误:ERROR IN APPLICATION: input is not valid Modified UTF-8:
0赞 badperson 4/19/2016
我的意思是,你是在使用 Java 来解析 XML 文件,还是 XSLT 或其他语言?
54赞 Pwnstar 9/13/2016 #2

<string name="Example">Example character \u0026</string>

在此处查看更多 unicode 字符:

http://www.utf8-chartable.de/unicode-utf8-table.pl?number=1024&utf8=0x

评论

0赞 Cristan 3/9/2017
这非常有效,除了您不需要半柱 (\u0026)
0赞 Pwnstar 3/9/2017
哦,我认为这是一个错误,因为通常以分号结尾一行代码^^
0赞 Demigod 10/19/2020
这对我不起作用,所以我只是复制了角色本身。
2赞 ka3ak 5/30/2021
似乎该方法不适用于 unicode 编码为 5 个符号的字符(例如)。但是,使用相应的 html 实体是有效的。\u1f4cb&#x1F4CB;
16赞 Nikos T 2/23/2018 #3

如果你去Unicode网站:https://unicode-table.com/en/#control-character 并单击这个Unicode,上面写着U + 00AE,如果你想复制粘贴这个例子,你不能写+符号.xml :) :) :)

<string name="example">"\u00AE"</string>

评论

0赞 hmac 6/2/2021
注意 当 Unicode 有 5 位数字时不起作用,需要使用 HTML &#x00AE;格式
0赞 ares 7/10/2018 #4

如果有人在你无意中得到了带下划线的空格,你可以通过使用 unicode 空间码位来避免这种情况

例如:

<string name="conditions">By signing in you agree to our <u>Terms &amp; 
Conditions.</u></string>

还会在“条款和条件”之前的空格下划线

溶液:

<string name="conditions">By signing in you agree to our\u0020<u>Terms &amp; 
Conditions.</u></string>
4赞 Ashav Kothari 7/24/2019 #5

Android 字符串的几个重要 Unicode 符号 .xml

<string name=”Rs”>\u20B9</string>
<string name=”filled_bullet”>\u25CF</string>
<string name=”linear_bullet”>\u25CB</string>
<string name=”rect_bullet”>\u25A0</string>
<string name=”blank_rect”>\u25A1</string>
<string name=”true_tick”>\u2713</string>
<string name=”star”>\u2605</string>

完整链接在这里

评论

0赞 Kishan Solanki 7/24/2019
我一直在寻找星星符号
2赞 Joop Eggen 7/24/2019 #6

检查 XML 是否为 UTF-8 格式,并且具有或默认为 .<?xml ... encoding="UTF-8"?><?xml ... ?>

首先,Unicode 码位是 U+1F695,它是十进制128661(不是......3).

在 XML 内容中,您的方法基本上是正确的。

&#128661;
&#x1F695;

该错误提到“已修改”的 UTF-8。这仅仅意味着码位 U+0000(二进制 0)也被编码为设置高位的多字节字节序列。这是对 C 的支持,其中“字符串”以 NUL 字节结尾。

由于 TAXI 代码点需要 4 个 UTF-8 字节,因此 Android 上的 XML 可能仅支持较短的 UTF-8 序列。至少对于数字实体。&#...;

如果实体有问题,请使用支持 UTF-8 的编辑器并从剪贴板粘贴 TAXI。

您可以尝试是否有解决方法,是否读取了 u-转义字符(可能没有):

\uD83D\uDE95 

最后的疯狂尝试是使用

<?xml version="1.1" ...
5赞 Ganesh Pokale 7/24/2019 #7
<string name="ic_happy_font">&#xe902;</string>

<string name="edit">🚕</string>