完美解决SonarQube中文乱码问题

本文详细记录了解决SonarQube中显示中文项目名出现乱码的问题。通过逐步排查,最终发现将sonar-project.properties文件中的中文转换为Unicode编码能够有效解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SonarQube中文项目名显示乱码问题,困扰了不少小伙伴,不幸最近我也陷入该坑,google、stackoverflow无果,很多文章甚至直接告诫不要使用中文名称,然而任务在身,不得不破。排查过程如下:

1、检查程序文件编码,没毛病:UTF-8;

2、检查sonar.properties,没毛病:sonar.sorceEncoding=UTF-8;

3、检查MySQL数据库编码,show variables like 'character_set_database',没毛病:utf8;

4、检查JDBC连接串,没毛病:useUnicode=true&characterEncoding=utf8;

5、直接将projects表中乱码的name字段update成中文,刷新页面,可以正常显示中文,说明乱码问题不是出在从读库到显示的这个过程,问题应该出在写库上;

6、写库那就得从sonar-runner/sonar-scanner客户端上找原因了,检查sonar-runner.properties,没毛病:配的是直连服务端sonar.host.url;如果配的是sonar.jdbc.url,需注意加上useUnicode=true&characterEncoding=utf8;

7、检查客户端sonar-project.properties编码,没毛病:UTF-8;

8、将sonar-project.properties中的中文改为unicode编码,即sonar.projectName=\u8fd8\u6562\u4e71\u7801,奇迹终于出现!

总结:这算是藏得比较深的乱码问题,很多人在排查到第7步的时候就开始下结论,开始时我也是卡在这一步,试了网上的多种办法均无法解决。后来突然想到SonarQube服务端和客户端都是Java开发的,而Java专门提供了一个native2ascii工具来加工properties文件的中文,说明unicode才是王道,一试果然成功。过程虽然曲折,但原因也算简单,基本功而已。

简单笔录,希望可以帮到更多SonarQube用户。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值