Properties files do not support UTF-8. Read the javadoc:
... the input/output stream is encoded in ISO 8859-1 character encoding ...
(as you seem to be using Eclipse, I wonder if you have ever actually carefully read the warning message which it would show while saving such a .properties
file for the first time)
Basically, you need the native2ascii
tool to convert UTF-8 saved properties files to proper ISO-8859-1 properties file format. Rename your UTF-8 properties file to include utf8
somewhere in the filename and convert it as follows:
native2ascii –encoding UTF-8 fileproperty.utf8.properties fileproperty.properties
Hereby any character which is not covered by the ISO-8859-1 charset will be replaced by an unicode codepoint sequence like \u1234
.
However, Eclipse has already builtin support for it. You should make use of it. You should be opening properties files in a "Properties file editor" instead of a "Text editor" (it's recognizable by the property values being highlighted in blue instead of unhighlighted in black). If it doesn't do that by default already, rightclick the properties file and choose Open With > Properties File Editor. If you paste வணக்கம் உலகம்
, then Eclipse will (should) automatically convert it to \u0BB5\u0BA3\u0B95\u0BCD\u0B95\u0BAE\u0BCD \u0B89\u0BB2\u0B95\u0BAE\u0BCD\u008D
.
Save it once again, clean/rebuild/redeploy/restart and try once again. It should now work fine.
See also:
Unrelated to the concrete problem, your @page
is full of values which are already the default. Just the following is sufficient.
<%@page pageEncoding="UTF-8"%>