See files .../tech/blog.txt and .../tech/vim.info. Determine encoding: file -i x # I find sometimes incorrectly reports ISO-8859's as utf-8s. "enca" or "chardet" (Python) may do a better job. Java properties and source files use ISO-8859-1, but can use Unicode escapes for characters not covered by ISO-8859-1. (Why doesn't "Java" use UTF-8, which I read is read Unicode?) Unicode escapes \uxxxx w/hex. Like \u2297 is an X in a circle. UTF-8 = unicode use 2 bytes for extended characters. vim latin1 = ISO-8859-1 uses 1 byte for each character. At least with Konsole default encoding set to UTF_8 Shell needs LANG set like: LANG=en_US.UTF-8 LANG=en_US.ISO-8859-1 LANG=de_DE.UTF-8 When reading text from Java, set CharSet to match encoding of the text file: UTF-8 or ISO-8859-1 vi uses lower-case #:set encoding=latin1 :set encoding=utf-8 # Unless run into some problem, always use utf-8 here :set fileencoding=latin1 :set fileencoding=utf-8 See http://www.apache.org/licenses/LICENSE-2.0.html Available system encodings shown by "locale -a". For foreign man pages, the instructions for Suse just don't work. Add the foreign man page dir to the head of the MANPATH. Set terminal emulator encoding to iso8859-1. Set LANG (or possibly LC_CTYPE, LC_MESSAGES, LC_LANG...) to desired encoding. ENDCODING conversion: iconv -f iso-8859-1 -t utf-8 old.latin1 > new.utf8 The Suse release notes imply that ISO8859-1 is legacy. I guess UTF8 is what you should use if you need internationality. locale -a lists the locales available on UNIX