[ACCEPTED]-Create UTF-8 file using HttpServletResponse-outputstream
Accepted answer
You need to use the character writer of 8 the response, not the byte output stream.
Replace
ServletOutputStream os = res.getOutputStream();
os.print("Hello World");
os.flush();
os.close();
by
res.getWriter().write("Some UTF-8");
Further, I'd 7 recommend setting content type to text/plain
, not 6 to an overly generic one which implies binary 5 content, not character content.
I'm not 4 sure about Notepad++, but in Notepad, if 3 the text document does not contain any characters 2 beyond the ANSI range, it will be interpreted 1 as ANSI. Don't mislead you by this behaviour.
Here is my sample:
private static final String KALIMAH = "\u0644\u064e\u0622 \u0625\u0650\u0644\u0670\u0647\u064e \u0625\u0650\u0644\u0651\u064e\u0627 \u0627\u0644\u0644\u0647\u064f \u0645\u064f\u062d\u064e\u0645\u0651\u064e\u062f\u064c \u0631\u0651\u064e\u0633\u064f\u0648\u0652\u0644\u064f \u0627\u0644\u0644\u0647\u0650";
protected void printGreeting (HttpServletResponse res) throws IOException {
res.setContentType( "text/html" );
res.setCharacterEncoding( "UTF-8" );
PrintWriter out = res.getWriter();
out.write( KALIMAH );
out.close();
}
0
Source:
stackoverflow.com
More Related questions
Cookie Warning
We use cookies to improve the performance of the site. By staying on our site, you agree to the terms of use of cookies.