Default UTF-8 encoding for new Notepad documents

Anonymous
2010-04-27T22:42:11+00:00

Short of using a third party editor, is there a way to configure Notepad so that new documents are automatically saved in Unicode without having to change manually the encoding every single time from default ANSI to UTF-8?

Typical scenario:

  • Start typing some text with no extended characters
  • Save the file: It is automatically in ANSI
  • Open the file again to edit, add some extended characters, save again:

  Notepad tells you the extended characters will be lost if you confirm the save operation.

At least that last message offers the possibility to backup and "Save as" to choose UTF-8, but 1) this is very cumbersome, and 2) files with no extended characters will still be saved in ANSI by default.

Windows won't really be fully Unicode if the default Notepad encoding is still the obsolete ANSI code page, but, even if I reluctantly admit changing default behaviors is tricky for compatibility reasons, there should at least be a user option to select the default encoding for new documents, like other third party editors offer, such as Notepad++.

Currently, Windows forces me to replace Notepad file associations to use other text editors. Not a bad thing given the poor set of features in Notepad, but it would have been great to have this option in the standard O.S.

Windows for home | Previous Windows versions | Apps

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
Answer accepted by question author
Anonymous
2010-05-12T01:50:00+00:00
  1. Right click -> New -> Text Document
  2. Open "New Text Document.txt". Do NOT type anything!
  3. Go to "File -> Save As... " and choose UTF-8 under "Encoding:", press "Save" and overwrite existing file. Close the file.
  4. Rename "New Text Document.txt" to "TXTUTF-8.txt"
  5. Copy "TXTUTF-8.txt" to "C:\WINDOWS\SHELLNEW"
  6. Go to "Start -> Run..." and type

regedit


Press OK.

  1. Navigate to

HKEY_CLASSES_ROOT.txt\ShellNew


  1. Right click in the right window -> New -> "String Value" and rename it to

FileName


  1. Double click on "FileName" and put

TXTUTF-8.txt


into "Value data:" field and press OK.

  1. It's finished.
  2. Test it: Create new .txt document (Right click -> New -> Text Document). Open it and go to "File -> Save As... " and see that encoding is set by default to UTF-8 . :-)

Credits go to Robert Clemenzi and his explanation of "FileName" string (and its linkage with "Template directory") within registry:

http://mc-computing.com/WinExplorer/WinExplorerRegistry\_ShellNew.htm

NOTE: These steps are ONLY for creating new and blank UTF-8 .txt documents. If .txt is already saved with ANSI encoding, it will stay ANSI when saving it next time - so if UTF-8 is needed (in this case), it must be set manually.

P.S. Also change "fSavePageSettings" & "fSaveWindowPositions" DWORD values to "1" within following registry key:

HKEY_CURRENT_USER\Software\Microsoft\Notepad

Info: http://www.pc1news.com/saving-changes-to-notepad-configuration-1216.html

Was this answer helpful?

200+ people found this answer helpful.
0 comments No comments

48 additional answers

Sort by: Newest
  1. Anonymous
    2016-11-11T05:16:11+00:00

    Simple solutions in my new video https://www.youtube.com/watch?v=pcW39s5eXQY

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2016-03-24T01:37:49+00:00

    maneuvre and Robert Clemenzi, HUGE THANKS and GREAT JOB!! This made my life so much simpler, and apparently 64 others who marked helpful. Just a thank you.

    Was this answer helpful?

    0 comments No comments
  3. Anonymous
    2015-10-23T06:13:19+00:00

    Hi, 

    I am running Windows 8 and I followed your steps, but I could not find "fSavePageSettings" & "fSaveWindowPositions" DWORD in HKEY_CURRENT_USER\Software\Microsoft\Notepad. What it shows instead are: <iWindowPosDX>, <iWindowPosDY>, <iWindowPosX>, <iWindowPosY> and <(Default)>. And obviously Notepad is still saving in ANSI by default. Can you please help?

    Thanks a lot!

    Was this answer helpful?

    0 comments No comments
  4. Anonymous
    2015-08-17T13:49:15+00:00

    I have solved it using Autohotkey script.

    Press Ctrl+Shift+S to open save as dialogue with selected UTF-8 encoding (works in Windows 10).

    The script is:

    #IfWinActive ahk_class Notepad

    ^+s::

    Send, {ALT DOWN}fa{ALT UP}

    sleep, 100

    Send, {TAB 3}{DOWN 4}{SHIFT DOWN}{TAB 3}{SHIFT UP}

    Return

    #IfWinActive

    Was this answer helpful?

    0 comments No comments