【发布时间】:2016-02-13 19:16:56
【问题描述】:
我有几个未分析的文件并显示以下消息:
在文件 [带完整路径的文件名] 中遇到无效字符 第 9 行用于编码 UTF-8。请修复文件内容或配置 使用属性 'sonar.sourceEncoding' 使用的编码。
在 Visual Studio 中,当我选择文件/高级保存选项时,文件被设置为西欧 (Windows) - 代码页 1252。
我将其更改为 Unicode(带签名的 UTF-8)-代码页 65001。
但 SonarQube 仍然抱怨无效字符。 “无效字符”是德语中带有变音符号 (ä,ö,ü) 的 cmets
我能做些什么来解决这个问题(不移除 cmets)?
【问题讨论】:
-
升级到 SonarQube 5.6.6 后我也遇到了同样的问题 - 德语变音符号也有同样的问题。 sonar.sourceEncoding = UTF-8 已设置 - 十六进制编辑器中的 ue-umlaut 是 CEBC,所以一切都应该没问题 - 你是如何解决问题的?
-
我使用了来自以下 [link] (stackoverflow.com/questions/5596982/…) 的脚本。这适用于 C#。如果您也有 C++ 源代码,则可能需要使用 BOM 转换为 UTF-8。为此,我使用了 Powershell 脚本 UTF8-EncodeFilesWithBOM
$basePath = "C:\Main\System" foreach($line in Get-Content "C:\Temp\utf\utfErrors2.txt") { $file = Join-Path -Path $basePath -ChildPath $line (Get-Content $file -Encoding UTF8) | Set-Content -Encoding UTF8 $file }
标签: c# utf-8 sonarqube code-analysis