Libgdx I18NBundle,无法显示斯堪的纳维亚字母

Jol*_*lly 3 java locale internationalization libgdx

所以我为所有字符串创建了一个 I18NBundle 以支持不同的语言,我的问题是当我在游戏中绘制字符串时,字母 \xc3\xa6 \xc3\xb8 和 \xc3\xa5 不会显示,因此应该是:“Spil p\xc3\xa5 tid”显示为:“Spil p tid”,没有字母。

\n\n

我不知道我做错了什么,但您可能会认为为支持不同语言而创建的东西将能够显示特定于国家/地区的字母和字符。

\n\n

这是我的 2 个 .properties 文件:

\n\n
infinite_mode=Play Infinite\ntimed_mode=Play Timed\noptions=Options\nquit=Quit game\noption_flip=Flip numpad\noption_language=Change language\nback=Back to main menu\nwrong_number=You pressed the\\nwrong number\ntime_ran_out=Time ran out\nreach_50="You have reached 50\nscore=Score: {0}\ntime=Time: {0}\nnumbers_left=Numbers left: {0}\nstart_over=Start over\nleaderboard=Leaderboard\nplus_seconds=+{0} seconds!\noption_sound=Sound\n
Run Code Online (Sandbox Code Playgroud)\n\n

还有丹麦的:

\n\n
infinite_mode=Spil Evigt\ntimed_mode=Spil p\xc3\xa5 tid\noptions=Instillinger\nquit=Afslut spil\noption_flip=Vend numpad\noption_language=Skift sprog\nback=Tilbage til hovedmenuen\nwrong_number=Du trykkede p\xc3\xa5\\ndet forkerte tal\ntime_ran_out=Tiden l\xc3\xb8b ud\nreach_50="Du har n\xc3\xa5et 50\nscore=Point\\: {0}\ntime=Tid: {0}\nnumbers_left=Tal tilbage: {0}\nstart_over=Start forfra\nleaderboard=Resultattavle\nplus_seconds=+{0} sekunder!\noption_sound=Lyd\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是我创建捆绑包的地方:

\n\n
FileHandle baseFileHandle = Gdx.files.internal("Language/Lang");\n        Locale Dansk = new Locale("da", "DK"); //The danish pack\n        Locale English = new Locale("en", "GB"); //The English pack\n\n        Lang = I18NBundle.createBundle(baseFileHandle, Dansk);\n
Run Code Online (Sandbox Code Playgroud)\n

Jol*_*lly 5

我实际上解决了这个问题,我自己在 Thorbj\xc3\xb8rn Ravn Andersen 的帮助下解决了这个问题。问题出在 IntelliJ 中。在设置中,“.properties”文件的文件编码不是 UTF-8,通过更改它,我解决了问题。

\n