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.
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.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.
Cp874 Windows Thai Cp1250 Windows Eastern European Cp1251 Windows Cyrillic Cp1252 Windows Latin-1 Cp1253 Windows Greek Cp1254 Windows Turkish Cp1255 Windows Hebrew Cp1256 Windows Arabic Cp1257 Windows Baltic Cp1258 Windows Vietnamese 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.
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");