c# - 将 Visual Studio 2010 升级到 2013 后日语源代码损坏

标签 c# character-encoding

我已经迁移了一个在 Visual Studio 2010 中开发的应用程序并升级到了 2013。现在我看到 2010 年的所有日语程序注释都显示为垃圾数据,如下所示。

//Ží—ÞC Å'lC '†ŠÔ'lC Å'å'lCÅ؈ړ®'lC'PˆÊC H //Å‘å’l–ˆ‚É”’l‚ð•`̶æ //'PˆÊ0.01mm‚Å10cm‚ð‰½Cm‚Å•\Œ»‚·‚é‚©‚ÅÙ°×°‚ÌŠg‘åk‚ɑΞ‚·‚é

如何更正上述注释,使其显示为日语字符?

最佳答案

源代码最初采用 JIS 编码,JIS 是 Visual Studio 的非标准编码。它(大致)翻译为:

// 種類C ナャ値C 中間値C ナ大値Cナャ移動値C単位C H 
// ナ大値毎に白lを描画 
// 単位0.01mmで10cmを何Cmで表現するかでルーラーの拡大kャに対応する

够日文了,好像和名古屋大学有关。

如果 Visual Studio 不是在日语版本的 Windows 上运行,则 Visual Studio 无法自行解决此问题。你必须帮忙。在“解决方案资源管理器”窗口中右键单击源文件,然后选择“打开方式”,选择“带编码的 CSharp 编辑器”。它会提示您选择编码,从列表中选择日语。请注意,JIS 编码有多种,请先尝试 932。

并且一定要以 utf-8 格式保存,这样就不会再出错了。如果有大量源文件,那会非常痛苦,编写一个小 C# 程序来完成此操作是一种替代方案。请务必使用带有 Encoding.UTF8 的 StreamWriter,以便写入 BOM。

关于c# - 将 Visual Studio 2010 升级到 2013 后日语源代码损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32334623/

相关文章:

c# - 错误 : Thread was being aborted in c# Windows application

c# - 如何使 Excel 单元格内容显示不同的值

c# - 将表达式树直接应用于列表的代码

c# - Restsharp 与 Restsharp.net2 之间有什么区别

c - 如何打印具有或不具有多字符的相同长度的字符串?

ruby-on-rails - 在Rails中使用SimpleRSS解析提要,出现数字代码,无法正确编码

c# - UrlEncoding - 我应该使用哪种编码?

c - 在 Windows 控制台上阅读土耳其语字符

c# - 使用命名空间和加载

python - 如何在 Python 中处理不可解码的文件名?