This is not an Ubuntu problem (or a problem with any operating system), but stems from the way Unicode is designed. Unicode uses a unified database for CJK characters called Unihan. A character (single Unicode code point) may be represented by different glyphs in different writing traditions.
The issue of the glyph used by the screen/printer/browser for a given character (code point) is a result of the way different fonts map the same Unicode character to different glyphs.
The solution is to as much as possible use a specific font made for each language, keeping in mind that shared or web docs will render glyphs according to the local configuration. In short, it's the Unicode code point in the doc itself that matters not the glyph on the screen.
If you really need to make sure a specific glyph is used, you will need to have a way to lock in or embed the needed font in your document or app.
From the Unicode FAQ:
The Unicode standard is designed to encode characters, not glyphs...
In the overwhelming majority of cases where a Han character is written differently in different locales, readers from one locale would recognize the form used in another; in all cases, experts from throughout East Asia would recognize the fundamental unity of the character...
There are occasional instances of unified characters whose typical Chinese glyph and typical Japanese glyph are distinct enough that the Chinese glyph will be unfamiliar to the typical Japanese reader, e.g., 直 U+76F4. To prevent legibility problems for Japanese readers, it is advisable to use a Japanese-style font when presenting Unihan text to Japanese readers.
Han Unification is designed to preserve legibility. Documents typically can be simply displayed in the font preferred by the user. Where a distinction in style needs to be made (for example, Chinese-style vs. Japanese-style glyphs in the same document), appropriate fonts should be applied to the specific text as needed.
Because of limitations in existing fonts, it may occasionally happen that a rare kanji will be displayed using a Chinese-style glyph where a Japanese-style glyph would be preferred. This is a font issue, not a character encoding issue, and the same problem can occur with other character encoding standards.