Sometimes when editing content that uses international characters, particularly from Asian languages, the characters appear as little boxes. The good news is that this nearly always means you've sorted out all the character encoding issues and the content is being loaded in without corruption. So why don't the characters display correctly? It's all about the font.
First, a little background on what fonts actually do - they're more than just a pretty (font) face. It's important to understand that computers don't think of characters like we do, like everything else to a computer, a character is just a sequence of 1s and 0s. When the character is displayed on screen (or printed) the computer has to translate that sequence of 1s and 0s into something that a human would recognize. That's where fonts come in. The fonts on your computer contain a mapping between the computer's representation of a character and the actual glyph you see on screen.
The problem is, it's time consuming and expensive to develop fonts - each and every character has to be carefully drawn in the font along with a lot of other information to get the font to display just right in any situation. To reduce this cost, most fonts don't include a rendering for every possible character and when they don't support a character they render it as a little box.
So, how do we solve the problem?
First we need to make sure that there is at least one font on your system that supports the characters you're using. To test this, see if your browser can render the characters correctly.
The first option is to use a font that supports the characters your using. Since EditLive!, like most browsers, defaults to Times New Roman for the font you'll probably need to explicitly specify the font using the CSS stylesheet, for example:
body {
font-family: "Hiragino Mincho Pro";
}
Which font to use will depend on what fonts you have installed on your machine, what OS you use and what characters you need to support. Hiragino Minco Pro is a font available on Mac OS X that support Japanese characters.
All that's fairly complex, fortunately there's another option. You'll notice that even without specifying the right font, browsers will tend to render the characters correctly. That's because they support "font fallback". If the required character isn't support by the current font, the browser automatically picks a different font that does support it. Fortunately, font fallback was added to Java in Java 1.5, so you can solve the problem simply by upgrading to Java 1.5 and above (and making sure there's at least one font that supports the international characters).
If instead of little boxes you're seeing question marks, corrupted content or little boxes every second character, you've probably got actual character set problems. Take a look at the previous article on character sets for some tips on tracking down and solving the problem.