Sublime Text编译Java时无法显示德语变音字符öäüß求助
解决Sublime Text编译Java时德语变音字符显示异常的问题
修改Java构建系统,添加编码参数
把你当前的自定义构建系统修改为:{"shell_cmd": "javac -encoding utf-8 $file && java -Dfile.encoding=UTF-8 $file_base_name"}核心是给
java命令加上-Dfile.encoding=UTF-8参数——Java虚拟机默认会用系统控制台的编码(比如Windows下是CP1252或GBK),这个参数强制虚拟机用UTF-8处理输出,和你文件的编码保持一致。确认Sublime全局编码设置
打开Sublime的用户设置(Preferences > Settings),确保以下两项存在:"default_encoding": "UTF-8", "fallback_encoding": "UTF-8"虽然你说已经设了UTF-8,但再检查一遍防止配置被其他设置覆盖。
替换内置Java构建系统(可选)
如果自定义构建系统还是没效果,可以直接修改Sublime自带的Java构建系统:- 通过
Preferences > Browse Packages打开包目录,找到Java文件夹里的JavaC.sublime-build - 把内容替换成:
{ "shell_cmd": "javac -encoding UTF-8 \"$file\"", "file_regex": "^(...*?):([0-9]*):?([0-9]*)", "selector": "source.java", "variants": [ { "name": "Run", "shell_cmd": "javac -encoding UTF-8 \"$file\" && java -Dfile.encoding=UTF-8 \"$file_base_name\"" } ] }这样以后用默认的Java构建系统也能正常显示变音字符。
- 通过
测试验证
写个简单的测试类验证:public class TestChars { public static void main(String[] args) { System.out.println("测试德语变音字符:öäüß"); } }编译运行后如果输出正常,问题就解决了。
内容的提问来源于stack exchange,提问作者Tom Orrow
相关产品推荐
相关产品推荐

