how to change source file encoding in csharp project (visual studio / msbuild machine)?
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.
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.
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…
.
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.