Roman Puchkovskiy created IGNITE-16445:
------------------------------------------
Summary: Always specify charset explicitly
Key: IGNITE-16445
URL: https://issues.apache.org/jira/browse/IGNITE-16445
Project: Ignite
Issue Type: Improvement
Components: general
Reporter: Roman Puchkovskiy
Assignee: Roman Puchkovskiy
Fix For: 3.0.0-alpha5
Calls like new String(byte[]), String#getBytes() and others that implicitly use
default charset are dangerous because we never know what charset is chosen as a
default for this particular JVM.
Even when the text we are encoding only contains ASCII characters, it could be
encoded differently by some charsets (like cp1140).
We could always mandate 'specify -Dfile.encoding=utf-8 when launching a JVM',
but it would make deployment a little bit difficult as the setting could be
easily overlooked.
It seems not too hard to always specify a charset in the code.
For the cases when it is the correct thing to use the system default charset,
it can be passed directly using Charset.defaultCharset().
To make sure that we not forget it somewhere accidentally, we could use a tool
like Maven Modernizer plugin.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)