We installed Geoserver 2.0 at work and found that it is ignores charset field for shapefile layers (to be exact, it reads DBF files in every single-byte encoding as Latin-1, be it windows-1251 or iso-88859-2). The problem is that geotools-2.6.0 that new Geoserver uses for reading shapefiles and DBF, was broken in attempt to optimize file reading.
My patch fixes it, and it seems that geotools-2.6.1 will be unaffected.