I am creating an RCP application, with many Greek messages, so everything is in UTF-8. As I develop and test through Eclipse IDE, everything is fine.
When I am deploying
The trick is to start the Eclipse IDE using the same file.encoding as the java editor uses:
eclipse -vmargs -Dfile.encoding=UTF-8
AND
Window -> Preferences... -> General -> Workspace -> Text file encoding -> Other -> UTF-8
When you export your RCP application then, the UTF-8-labels are displayed correctly. There are no special VM arguments needed to start the RCP application.
With this, you can share UTF-8 source code between Linux and Windows Eclipses.
When exporting a plug-in, it gets compiled through a process separate from the normal build process within the IDE. There is a known bug that the build process (PDE.Build) disregards the text encoding used by the IDE.
The export can be made to work properly by specifying the text encoding in the build.properties file of your plugin
javacDefaultEncoding.. = UTF-8
(copied from the question - so this shows as having an answer)
I found the solution although it was not as trivial as I anticipated.
Eclipse gives the ability to control the build process with build.properties, in which you can specify a property javacDefaultEncoding with the following value for example
javacDefaultEncoding..=UTF-8
Documentation can be found at Eclipse Help in "Plug-in Development Environment Guide > Reference > Build Configuration"
Hope this helps someone.