1 工程乱码
测试本地编码设置:
public class Encoding {
public static void main(String[] args) {
System.out.println(System.getProperty("file.encoding"));
System.out.println(Charset.defaultCharset().name());
}
}
//java.nio.charset.Charsetstatic
Charset defaultCharset()
Returns the default charset of this Java virtual machine.
//java.lang.Systemstatic
String getProperty(String key)Gets the system property indicated by the specified key
上面两个方法获得的是系统默认的字符集编码;如果是中文版windows系统,一般是GBK。如何设置utf8呢?
打开File-Setting, 找到File Encodings这个选项,把encoding设置成你工程的编码即可,一般是UTF-8,然后重新rebuild一下,基本就行了
2 控制台乱码
(1)执行本地Java应用
打开setting,找到 Build,Execution,Deployment > Compiler > Java Compiler, 设置 Additional command line parameters选项为 -encoding utf-8,然后rebuild下,重新运行
(2)运行tomcat
Tomcat启动配置参数 设置为 -Dfile.encoding=UTF-8 ,重启tomcat
3 其他情况
上述设置仍然不生效,打开IDEA安装目录找到idea.exe.vmoptions,添加配置参数,重启Idea。
-Dfile.encoding=UTF-8
4 postgresql编码格式
(1)查看数据表编码
\encoding
(2)修改数据库编码
update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'your_database';