工作中进行app兼容性测试,发现android 6.0以下的设备使用facebook账号登录app,当fb的用户名包含生僻字:比如"𦚯",app显示用户名时,android native渲染这个字变成了空格,而unity3d渲染这个字变成了另外一个奇怪的字。Android 6.0或以上的设备可以正常渲染。
不过当你java层与unity3d的c#层进行通信时,如果信息中包含了此类生僻字,java层发送给unity3d,unity3d接收到的是空字字符串。解决方式是先转成unicode字符再发送给unity3d,c#再转回到正常字符串。