Spec-Zone .ru
спецификации, руководства, описания, API

 Sun Microsystems, Inc

Internationalization Contents

Euro Support

This release includes support for the new European Union currency, the euro. In order for the JDK software's support for the euro character to function properly, you may need to install euro-support patches for your operating system. For Windows NT and Windows 95, you can obtain the required patches from the Microsoft euro support web page. No patch is required for Windows 98.

Euro-support patches are also required if you are using versions of Solaris prior to Solaris 7. See the Solaris patches web page for information on the Solaris patches required for euro support.

The addition of euro support will not affect existing code, except for character conversion code that relies on changed encodings. No APIs were changed.

Encodings and Euro Support

The following encodings have been modified to support the euro currency character. Code point 0x88 was modified on Cp1251, code point 0x80 on all the other encodings. These code points were previously unused.
Cp874Windows Thai
Cp1250Windows Eastern European
Cp1251Windows Cyrillic
Cp1252Windows Latin-1
Cp1253Windows Greek
Cp1254Windows Turkish
Cp1255Windows Hebrew
Cp1256Windows Arabic
Cp1257Windows Baltic
Cp1258Windows Vietnamese
There are also 12 new encodings. Of special interest is ISO8859_15. This encoding supports ISO 8859-15, a character set standard not yet approved. ISO 8859-15 is ISO 8859-1 with various changes, including accented French and Finish characters and the euro currency symbol. ISO 8859-15 is also known as Latin 9, Latin 0, and IBM 923.

Before JDK 1.1.7, the default encoding under Microsoft Windows for Western European locales was ISO8859_1. Starting with JDK 1.1.7, the default encoding for Western European Locales under Microsoft Windows has been changed to Cp1252. Cp1252 does not implement a reversible byte/character translation. It may appear to some programmers that this introduces an incompatibility. The real problem is a programming technique that unintentionally relies on the features of specific locales.

For more information, see the list of Supported Encodings.

Locales and Euro Support

No existing locale resources have been modified for the euro. Instead, new variant locale resources are provided for each country adopting the euro. Previously, there were no Luxembourg locale resources. In this release, Luxembourg gets both base and euro variant locales.

For more information, see the list of Supported Locales.

Since the Java 1.1 platform specification is frozen, no API was added to find the euro variant of a non-euro locale. The following example code locates the euro variant of a non-euro locale. This example assumes that only the locale resources provided with the Java Development Kit are available. A more general solution would be much more complicated.

if (source.getVariant().indexOf("EURO") >= 0)
    newLocale = source;
else
    newLocale = new Locale(source.getLanguage(),
        source.getCountry(),
	source.getVariant().length() > 0 ?
	    (source.getVariant() + "_EURO") :
	    "EURO");

Copyright © 1996-1999 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303 USA. All rights reserved.

Please send comments to: java-intl@java.sun.com