how to change source file encoding in csharp project (visual studio / msbuild machine)?

Visual StudioEncodingUtf 8Localization

Visual Studio Problem Overview


Is there a way to force VS to use Unicode always, instead of weird ISO-something?

I'm working on a winapp csproject using Visual Studio 2008 on Vista (Polish locale). The problem appears when I build the project on Win Server 2003 (English locale) - then Polish diacritic is gone.

I investigated that the issue is caused by improper source file encoding. It looks that source files aren't using UTF-8 encoding.

Visual Studio Solutions


Solution 1 - Visual Studio

Problem: Compiler launched from command line cannot process the source file because of international characters that I’ve just added.

Solution: Save source file explicitly in UTF-8 encoding to preserve international characters.

How To:

  • open the problematic file in Visual Studio.
  • on the File menu click “Advanced Save Options“
  • from “Encoding” combo select “Unicode (UTF-8 …“
  • click OK.

You’re set. Commit to please the build server and rest of the team waiting for green.

Solution 2 - Visual Studio

In the latest Visual Studio 2017 the interface is changed a bit and you have to chose File -> Save [filename] As…. Then in the opened dialog you can chose Save with Encoding….

enter image description here

Solution 3 - Visual Studio

I've had the same problems with VS2015 vb.net project and solved it by adding <CodePage>1250</CodePage> marker to your vbproj/csproj file. I did it after <SchemaVersion> marker, rebuilt the project and it worked for me. I've had trouble with polish letters such as ż,ą etc. You can also try the UTF-8 - 65001 but I didn't check if it works.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestiontomoView Question on Stackoverflow
Solution 1 - Visual StudioruslanderView Answer on Stackoverflow
Solution 2 - Visual StudioIlya ChernomordikView Answer on Stackoverflow
Solution 3 - Visual StudioAniaView Answer on Stackoverflow