Strange Oracle ORDER BY
I use this solution but it is not an elegant solution. It converts all accented french characters to english equivalents and strips out odd characters.

order by translate(LibelleCourant,'ÉéÀàÇçÈèÙù''/*;"&lt;>() ','EeAaCcEeUu')

Edit:  if you want to keep the special characters to sort by then change the translate function.
Example: you want to keep the &lt; and > symbols, just add them to the end string
order by translate(LibelleCourant,'ÉéÀàÇçÈèÙù&lt;>''/*;"() ','EeAaCcEeUu&lt;>')

What is happening is that any single character which is present in the first string and has a corresponding value in the second string will be replaced.  Extra characters will be removed.  These characters will be replaced ÉéÀàÇçÈèÙù&lt;>
and these characters will be removed:          ''/*;"() 

See the Oracle docs for more info.