== UNICODE in Unreal.ini / User.ini ==
What is the problem?
As your know (or SHOULD), Unreal stores the engine settings in the file
Unreal.ini and all User related stuff (keybinds, name,
etc...) in the file
User.ini both of which can be found
Normally, these files are plain ASCII texts and can easily be edited by any
ASCII editor, like NOTEPAD.
For some very strange reason, Unreal sometimes just forgets about ASCII and
saves any of the ini files in an alternate format, called UNICODE. UNICODE is
an "international" version of ASCII which was designed to include all sorts
of letters and special symbols which could not be represented with standard
ASCII. In effect, ASCII uses 8 bits (each letter is 1 byte) and UNICODE 16
(each letter is 2 bytes), so you will see for example that a UNICODE ini file
might start like this:
ÿþ[ U R L ]
although the full contents is just (ASCII):
So you see, the UNICODE file starts with a two byte header and since the
normal ASCII is part of the UNICODE with a "zero" value in front of the ASCII
byte you can still see the actual ASCII content within the UNICODE file if you
simply read every 2nd letter.
UNICODE was designed mainly for internationalization for documents, so why
Unreal is capable of using UNICODE is a riddle beyond understanding. Unreal
does not need UNICODE at all, as if anyone would play a chineese version of
All right - so how do we get back the plain ASCII content?
Quite simple, delete the first 2 bytes and destroy all "zero" values in the
file. This works only for UNICODE files which contain PLAIN ASCII content,
because REAL UNICODE files need those extra bytes of course...
Sounds like a daunting task...
It is... if you try to do that manually, you will take ages. However there are
tools available which can convert such files, or I believe even most Office
application are capable of doing that (don't know though). However if you don't
get it, here's a very simple one...
A small binary file filter tool I programmed years ago in C. For the Unreal
purpose, I also include batch files to quickly convert the 2 ini files. Full
manual is included so you can easily write your own batches to adjust to
other files or whatsoever...
Here we go:
Tool name: ACONV (Version 0.2e)
OS: MSDOS (no long filename support) - might compile on Amiga, too
Download: RIGHT NOW
Usage: Just unzip it into your Unreal\system directory. Executing _UN_INI.BAT
will convert Unreal.ini to plain ASCII into a file simply called "A", and
executing _US_INI.BAT will do the same for User.ini. ACONV will not
overwrite existing target files, nor modify input files. It will also give
feedback about other erros (file not found blah blah...)
Typing "ACONV /h" on the dos prompt will give full usage. Or just read the
text manual included...
YOU wrote this? It says author is PtMC
Yea, that's me... long ago... I could prove that with the source, but this
tool is, although the source is nicely documented, still a bit tricky
written so I won't hand out the source except if you ask VERY nicely!
But no big thing anyway, so I might just say I feel too ashamed to hand
out the source hahaha :)
When you start Unreal again and exit it again, your ini file will be back
UNICODE, so each time you have to convert it again between starts. You
COULD also simply write protect your ini file(s) you never want to be
changed again, but of course then Unreal cannot perform any wanted
== Back to the [UNREAL REFERENCE] Index ==