there are many ambiguties looking into your question
i might think that u nid to rename your file name containing UTF-8 to gb2312
the following package is needed to rename filename between locales.
package: convmv
example: convmv -f utf8 -t gb2312 -r --notest any_file_or_folder
pls read the convmv manual before applying the command to avoid file corruption.
as for locales conversion on file contain, u may use:
iconv
example: cat file | iconv -f utf8 -t gb2312 > other_file