.net core cli - 在Linux和Windows上构建 - 字符串比较和重音问题

时间:2017-12-19 17:31:27

标签: linux encoding .net-core

我已将CI工具切换为在Linux上调用dotnet build,而我之前在Windows上执行此操作。然后我突然在我的应用程序中出现了一个错误。

我正在将从数据库读取的变量与从方法返回的字符串文件(直接在代码中)进行比较。字符串litteral有法国口音。存储在db(SQL Server)中的值也是如此。

但是,执行字符串比较的行在Windows上构建时返回true,但从Linux构建时返回false。

怎么回事?

更新

这里显示了问题的异常消息:

throw new ArgumentOutOfRangeException(nameof(modeDePaiement), modeDePaiement, "Mode de paiement non supporté");

显示错误时,modeDePaiement在从Windows或Linux构建时都等于“prélèvement”。

然而,它与AS WELL比较的值与错误消息中的“supporté”一词并没有同等显示:当从Linux构建时,“é”被替换为某个符号,而在构建时则正确显示视窗。

从Linux或Windows构建时,代码中的字符串似乎不会以相同的方式编码。

0 个答案:

没有答案