/ sonar

sonar中文乱码解决方案

OSC搞了一个代码质量管理系统,用的是sonar,看上去很不错,于是就自己搭建了一个,但是发现代码里的中文全部变了‘?’号。

首先检查代码,确认是UTF8格式无误。

再检查代码目录下的sonar-project.properties文件,编码配置sonar.sourceEncoding=UTF-8,也没有错。

然后检查数据库,发现数据库的字符集是latin,于是把所有的表字符集都改成utf8。

重新运行了一下sonar-run,以为能解决了,结果发现还是‘?’号。

检查数据库中的数据,已经是乱码的了,说明在写入的时候就有问题了。

再检查了一下sonar-run的配置,里面的jdbc配置是:

sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8

看上去是utf8没错啊……但是我发现里面有个&,这个是&的转义,于是想会不会是这里的问题,把&改成&,再运行sonar-run,显示中文正常!

sonar中文乱码解决方案
Share this