diff --git a/src/tap/data/ResultSetTableIterator.java b/src/tap/data/ResultSetTableIterator.java
index 220d9b7cbd9f6bc0f1742612b7650fb5141202a0..89bf1edf82029af97352308483091348b30efe1c 100644
--- a/src/tap/data/ResultSetTableIterator.java
+++ b/src/tap/data/ResultSetTableIterator.java
@@ -42,7 +42,7 @@ import adql.translator.JDBCTranslator;
  * </i></p>
  * 
  * @author Gr&eacute;gory Mantelet (ARI)
- * @version 2.1 (07/2015)
+ * @version 2.1 (09/2015)
  * @since 2.0
  */
 public class ResultSetTableIterator implements TableIterator {
@@ -362,6 +362,9 @@ public class ResultSetTableIterator implements TableIterator {
 				// if the column value is a Timestamp object, format it in ISO8601:
 				if (o instanceof Timestamp)
 					o = ISO8601Format.format(((Timestamp)o).getTime());
+				// if the column should be only a character:
+				else if (colType != null && o != null && colType.type == DBDatatype.CHAR && (colType.length == 1 || colType.length <= 0) && o instanceof String)
+					o = ((String)o).charAt(0);
 				// if the column value is a geometrical object, it must be serialized in STC-S:
 				else if (translator != null && colType != null && colType.isGeometry()){
 					Region region = translator.translateGeometryFromDB(o);