Java Tools Tutorials - Herong's Tutorial Examples - v6.23, by Herong Yang
Setting UTF-8 Encoding in PrintStream
This section provides a tutorial example on how to set UTF-8 encoding an output PrintStream to correctly print non-ASCII characters.
In order to print non-ASCII characters stored in Java strings, you need to set the correct encoding in the PrintStream object.
Here is how I fixed the problem you saw in the previous section:
/* HelloUtf8ConvertedFixed.java * Copyright (c) 2005 HerongYang.com. All Rights Reserved. */ import java.io.*; public class HelloUtf8ConvertedFixed { public static void main(String[] a) { try { PrintStream out = new PrintStream("Hello.txt", "UTF-8"); System.setOut(out); System.out.println("Hello world!"); System.out.println("\u4e16\u754c\u4f60\u597d\uff01"); } catch (Exception e) { } } }
Check the output of this program:
herong> javac HelloUtf8ConvertedFixed.java
herong> java HelloUtf8ConvertedFixed
herong> type Hello.txt
Hello world!
世界你好!
Excellent! This final program shows how Chinese characters can be correctly encoded in the Java source file, and correctly printed in the output file.
Table of Contents
javac - The Java Program Compiler
java - The Java Program Launcher
jpackage - Binary Package Builder
javadoc - The Java Document Generator
jdeps - The Java Class Dependency Analyzer
jdeprscan - The Java Deprecated API Scanner
jcmd - The JVM Diagnostic Tool
jconsole - Java Monitoring and Management Console
jstat - JVM Statistics Monitoring Tool
jhsdb - The Java HotSpot Debugger
jvisualvm (Java VisualVM) - JVM Visual Tool
javap - The Java Class File Disassembler
keytool - Public Key Certificate Tool
jrunscript - Script Code Shell
►native2ascii - Native-to-ASCII Encoding Converter
native2ascii - Encoding Converter Command and Options
javac - Using CP1252 to Process Source File
"native2ascii -encoding" - UTF-8 to uXXXX Conversion
►Setting UTF-8 Encoding in PrintStream
Converting uXXXX Sequences Back with "-reverse" Option