事情是这样的,我在Android项目中跑了一个flutter页面。
其中Text组件在没有设置字体的情况下(默认字体),不管是显示Android传入的中文,还是显示写死在flutter本地的中文,就变成了图中这个不正常的鬼亚子。(但是在IOS的手机上是正常的。)
一开始我以为是字体的问题,于是就对Android单独设置
fontFamily:null
或者引入字体文件,设置别的好看的字体,想看下结果。
然并卵,木有变化。
后来听说有可能和Locale有关,于是就去网上查,设置语言环境相关内容。发现:
const Locale("zh", "CN"), Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant', countryCode: 'HK'), Locale('zh'), Locale.fromSubtags(languageCode: 'zh', scriptCode: 'Hant', countryCode: 'TW'), Locale('en')
第一句const Locale("zh", "CN"),在现有的flutter项目中没有加,于是我加上了第一句,字体恢复正常如下。
虽然不知道是什么原因,我猜可能是没有设置为中文简体,于是就解析混乱。
好神奇,于此记忆。