See the attached screenshot from UltraEdit v14.00 which I think you are using.
On left side you see the contents of a new file with Windows-1252 because of
OEM Character Set is not enabled in menu
View.
On right side you see the contents of same new file with OEM 850 because of
OEM Character Set is now enabled in menu
View.
The
code page option was not used between making the left and right side screenshots. Just the
OEM Character Set was enabled by clicking on this menu item.
The state of
OEM Character Set (disabled as by default or enabled) is stored in INI file of UltraEdit in section
[Settings] with
Force OEM=0 or
1 for file extension group
Default. But there are also
Force OEM2= to
Force OEM11= for perhaps customized file extension groups to enable OEM Character Set editing for just specific file types like *.bat, *.cmd and *.nfo files.
So you could also open
%APPDATA%\IDMComp\UltraEdit\uedit32.ini with Windows Notepad while UltraEdit is not running and change all
Force OEM to
0.
I can see after opening
View - Set Code Page the code page 850 in the list, see attached screenshot from this dialog (made on German Windows XP). However, it does not matter which code page is set for the active file when
OEM Character Set is enabled in menu
View because of UltraEdit uses in this case the code page defined by Windows according to region setting for console applications which I think is for France code page 850. Open a command prompt window and run the command
chcp (change code page) without any parameter and you get displayed which code page is defined by Windows for console according to your Region and Language settings in Windows Control Panel.
By clicking on
OEM Character Set to toggle off this option currently enabled in your configuration the code page defined by Windows for graphic user interface applications like UltraEdit according to Region and Language settings becomes active again which is Windows-1252.
For non Unicode files with text encoded with always 1 byte per character a text editor like UltraEdit can't really automatically detect which code page was used on writing the text. The exception is HTML and XHTML files with the
charset meta tag and XML files with the
encoding attribute. For those files with the character/encoding declaration present in file and of course also right set according to encoding/code page used for the file, UltraEdit can also determine automatically the code page for non Unicode encoded HTML/XHTML/XML files.
The code page in UE v14.00 which can be set individually for each opened file is mainly for copying/pasting text correct to/from clipboard and for converting to/from Unicode as also needed often in implicitly on copying/pasting text to/from clipboard and not only on using the file conversion commands in UltraEdit in menu
File - Conversions. On changing the code page for a file, a font must be selected by the user in UE v14.00 which supports the newly set code page.
In later versions of UltraEdit there have been made improvements like the encoding selector in status bar at bottom making it possible to change the text encoding from one text encoding to any other text encoding directly with 3 left mouse button clicks. And with UltraEdit v24.00 the user must not select anymore manually a font suitable for the encoding/code page set for the active file because of UltraEdit makes this automatically.
The setting
Advanced - Set Code Page/Locale defines the default code page used for non Unicode files after opening such a file and the code page can't be determined by UltraEdit from a
charset or
encoding declaration because of file is not an HTML/XHTML/XML file. In general with default settings
"C" Default Locale/Code Page - Previously Used and
"C" Default Locale/Code Page - Previously Used is used the code page defined by Windows for GUI applications according to region setting for current user, except
OEM Character Set is enabled resulting in using the code page defined by Windows according to region settings for console. This setting makes it possible to override the default code page defined by Windows region setting for ANSI encoded files opened in UltraEdit.
The setting
Advanced - Set Code Page/Locale is also important on using
Sort with option
Use Locale enabled. In this case it is important which locale is configured in dialog opened with
Advanced - Set Code Page/Locale. For example with the default code page/locale settings and running a sort of lines containing on each line a French word with accents there is no difference on sort order on having option
Use Locale checked or not checked before running the sort because of sort is strictly "C" based, i.e.
a <
á. But with code page set to 1252 and locale set to French,
a ==
á for sort with option
Use Locale checked resulting in a sort order of the words in the lines as native French speaking people expect.
Set Code Page is a per file setting. So multiple opened files can be encoded with different code pages. But in UE < 24.00 the user has to choose a font manually which supports all code pages set for the opened files. A manually set code page for a file is remembered by UltraEdit in its INI file for next opening this file.
The button
Clear History at
Advanced - Configuration - Toolbars / Menus - Miscellaneous deletes usually all file/search/replace histories including the file based encoding/code page history. But that is not the case in UE v14.00. So to clear the file code page history on using UE < v18.10.0.1010 it is necessary to open INI file of UltraEdit with Windows Notepad while UltraEdit is not running and delete the entire section
[File Code Page].
See also the topics: