Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
致命异常:java.util.UnknownFormatConversionException转换:מ;_Java_Android_Character Encoding_String Formatting_Right To Left - Fatal编程技术网

致命异常:java.util.UnknownFormatConversionException转换:מ;

致命异常:java.util.UnknownFormatConversionException转换:מ;,java,android,character-encoding,string-formatting,right-to-left,Java,Android,Character Encoding,String Formatting,Right To Left,此代码给出字符串错误。格式(…): R.string.sharing\u invite\u title是%s邀请您加入smth。 这一错误的原因可能是什么?导致错误的符号是从右到左的字母。谷歌搜索不会给出任何答案。用\u0025替换% %是xml中的一个特殊字符。所以你不应该直接放置它。事实证明,应用程序只有在希伯莱语言环境下才会崩溃,而希伯莱语言环境使用的是iwcode(而不是he),在安卓5.0上使用旧代码很奇怪。字符串文件中相应的字符串具有s%,而不是%s。这就产生了未知信息转换异常 这是

此代码给出字符串错误。格式(…):

R.string.sharing\u invite\u title
%s邀请您加入smth。

这一错误的原因可能是什么?导致错误的符号是从右到左的字母。谷歌搜索不会给出任何答案。

用\u0025替换%


%是xml中的一个特殊字符。所以你不应该直接放置它。

事实证明,应用程序只有在希伯莱语言环境下才会崩溃,而希伯莱语言环境使用的是
iw
code(而不是
he
),在安卓5.0上使用旧代码很奇怪。字符串文件中相应的字符串具有
s%
,而不是
%s
。这就产生了
未知信息转换异常


这是因为Android Studio中缺乏RTL支持。请参阅此问题中更详细的答案:

So
String.format(“%s邀请您:”,inviter.getnamefortle())有效?我很快实现了这一点,并直接设置了从右到左的字母。对我来说一切都很好=(无法解释为什么会出现错误。即使是直接使用字符串资源而不是在字符串中。formatBut
%s
应该被
inviter.getNameForTitle()
替换。阿拉伯语也是如此,任何RTL字符串似乎都是如此
inviterNameTitleView.setText(
                String.format(
                        context.getString(R.string.sharing_invite_title),
                        inviter.getNameForTitle()
                )
        );