-
Bug
-
Resolution: Not an Issue
-
P4
-
None
-
8u161
-
x86_64
-
windows
FULL PRODUCT VERSION :
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 10.0.16299.125]
A DESCRIPTION OF THE PROBLEM :
Strings with macrons in them are corrupted, they can't be used to represent a path. Notably, if a Windows username contains a macron, the resulting String when calling System.getProperty("user.home") will have all macrons replaced with question marks. Characters with other accents, such as ´ (é) or ¨ (ü) work fine.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Put a ū (or any letter with a macron, combining or otherwise) into a String
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The letter is in the string, and displays correctly
ACTUAL -
The letter is replaced with a question mark
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
public class Test
{
public static void main(
String[] args) throws Exception
{
System.out.println("combining Macron: ū");
System.out.println("non-combining Macron: ū");
System.out.println("Code point: \u016B");
System.out.println("Other accents: üé");
}
}
---------- END SOURCE ----------
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows [Version 10.0.16299.125]
A DESCRIPTION OF THE PROBLEM :
Strings with macrons in them are corrupted, they can't be used to represent a path. Notably, if a Windows username contains a macron, the resulting String when calling System.getProperty("user.home") will have all macrons replaced with question marks. Characters with other accents, such as ´ (é) or ¨ (ü) work fine.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Put a ū (or any letter with a macron, combining or otherwise) into a String
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
The letter is in the string, and displays correctly
ACTUAL -
The letter is replaced with a question mark
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
public class Test
{
public static void main(
String[] args) throws Exception
{
System.out.println("combining Macron: ū");
System.out.println("non-combining Macron: ū");
System.out.println("Code point: \u016B");
System.out.println("Other accents: üé");
}
}
---------- END SOURCE ----------