As i said, i could not verify if excel 2007 has improved in this area, but i wouldn't be surprised if it didn't, i had a look at the text import of excel 2002 and the import dialog is really ill-designed, you can't even see what type of encoding you are supposed to choose from the drop down list because the values don't fit in the box, so basically you are tossing a coin...
Even if I were using Open Office or other kind of tool that would prompt the enconding type, the application is destined to different kind of users from all over the world that will use different versions of Excel so I have to control the way characters will display in csv within the APEX application so that it woun't depend on the tool that opens the report.
Could anyone help me ?
the other existing built-in option is to encode the file basing on the browser language setting but my understanding is that this solution is not working in your case.
May be there is a misunderstanding, so let's clarify this point: does your file contain multiple languages at the same time?
If yes then you must export the file in UTF-8, otherwise you may try with the automatic encoding.
If the automatic encoding is not ok for some reason, then you should be ready to write a custom CSV export procedure.
For instance, you might create a page where the user selects the target encoding himself and make the conversion in the database, then exporting the resulting file in the desired character set.
So you need to write your own CSV export procedure and manually convert the resulting CLOB into a BLOB in the target character set by calling DBMS_LOB.CONVERTTOBLOB (Oracle 10R1 or newer), then calling the WPG_DOCLOAD.DOWNLOAD_FILE procedure to perform the download.