起因
今天写在线编程的时候遇到这个问题,关于我编译Java文件时遇到这样的报错
Main.java:4: error: unmappable character (0xE5) for encoding US-ASCII
System.out.println("Hello W???orld!");
本地解决
一眼看出是docekr编码问题,编译的时候把中文识别成了??
如果这个是本地的话,这个解决办法也很简单,使用export LANG=C.UTF.8
就可以了,而这个是临时生效,我们只需要将这条写入/etc/profile
中 ,然后在~./bashc文件中加上source /etc/profile 在开机的时候生效
docker容器解决
而这个是docker,亲测只能在内部生效,当我们使用exec调用的时候,它还是会报编码错误,那么我们只需要在创建容器的时候加上 --env LANG=C.UTF-8
这条便能解决问题