I tried to save file with cyrillic characters, and it saved wrongly until I specified cell.setEncoding(...UTF_16). Strange...
This is how it is designed. This is well documented. You have to call setCellEncoding for non ISO8859-1 characters.