Character Encoding Issue With JDBC Config

Description

The add(T) method in org.geoserver.jdbcconfig.internal.ConfigDatabase calls "new String(byte[])" using the default character set. It should be called using "UTF-8" to be consistent with other code used by the jdbcconfig plugin that performs String / byte[] conversion:

1. save(T) in org.geoserver.jdbcconfig.internal.ConfigDatabase
2. mapRow(ResultSet, int) in org.geoserver.jdbcconfig.internal.InfoRowMapper
3. save(Object, OutputStream) in org.geoserver.config.util.XStreamPersister

This can cause issues with encoding special characters if the default character set is not UTF-8 (e.g., the degree symbol appearing as °). The workaround for my environment was to add "-Dfile.encoding=UTF-8" when starting the application server.

Environment

None

Status

Assignee

Unassigned

Reporter

Steve Ikeoka

Triage

None

Fix versions

Affects versions

2.8-RC1
2.7.2

Components

Priority

Medium
Configure