since you are hard-coding "UTF-8" into the Java code of your filter, that means that you don't need to specify it as an init-param of the filter.
Yes Paul, you are absolutely right!
The little problem I didn't mention is that I was trying to catch the parameter ("encoding" from web.xml) in the overriding init method of SetCharacterEncodingFilter class but it didn't work so, when I hard-coded "UTF-8" and I saw the right result I felt so exciting than I couldn't help to tell the world about it. Thanks for your cooperation and I will heed your advice.
====================================
P.S. English is not my mother tongue.