Index: displaytag-examples/src/main/java/org/displaytag/sample/decorators/HssfTotalWrapper.java
===================================================================
--- displaytag-examples/src/main/java/org/displaytag/sample/decorators/HssfTotalWrapper.java	(revision 1133)
+++ displaytag-examples/src/main/java/org/displaytag/sample/decorators/HssfTotalWrapper.java	(working copy)
@@ -13,6 +13,7 @@
 package org.displaytag.sample.decorators;
 
 import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.hssf.usermodel.HSSFRichTextString;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.displaytag.decorator.hssf.DecoratesHssf;
@@ -50,13 +51,13 @@
             prepareCell();
             prepareCell();
             prepareCell();
-            this.currentCell.setCellValue("------------");
+            this.currentCell.setCellValue(new HSSFRichTextString("------------"));
 
             this.currentRow = this.sheet.createRow(++rowNum);
             this.colNum = 0;
             prepareCell();
             prepareCell();
-            this.currentCell.setCellValue(value + " Total:");
+            this.currentCell.setCellValue(new HSSFRichTextString(value + " Total:"));
             prepareCell();
             this.currentCell.setCellValue(total);
         }
@@ -65,7 +66,6 @@
     private void prepareCell()
     {
         this.currentCell = this.currentRow.createCell((short) this.colNum++);
-        this.currentCell.setEncoding(HSSFCell.ENCODING_UTF_16);
     }
 
     protected void writeGrandTotal(double total)
Index: displaytag-export-poi/src/main/java/org/displaytag/export/excel/ExcelHssfView.java
===================================================================
--- displaytag-export-poi/src/main/java/org/displaytag/export/excel/ExcelHssfView.java	(revision 1133)
+++ displaytag-export-poi/src/main/java/org/displaytag/export/excel/ExcelHssfView.java	(working copy)
@@ -13,6 +13,7 @@
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFCellStyle;
 import org.apache.poi.hssf.usermodel.HSSFFont;
+import org.apache.poi.hssf.usermodel.HSSFRichTextString;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -119,8 +120,7 @@
                     }
 
                     HSSFCell cell = xlsRow.createCell((short) colNum++);
-                    cell.setEncoding(HSSFCell.ENCODING_UTF_16);
-                    cell.setCellValue(columnHeader);
+                    cell.setCellValue(new HSSFRichTextString(columnHeader));
                     cell.setCellStyle(headerStyle);
                 }
             }
@@ -146,7 +146,6 @@
                     Object value = column.getValue(this.decorated);
 
                     HSSFCell cell = xlsRow.createCell((short) colNum++);
-                    cell.setEncoding(HSSFCell.ENCODING_UTF_16);
 
                     writeCell(value, cell);
                 }
@@ -180,7 +179,7 @@
         }
         else
         {
-            cell.setCellValue(escapeColumnValue(value));
+            cell.setCellValue(new HSSFRichTextString(escapeColumnValue(value)));
         }
     }
 
Index: displaytag-export-poi/src/main/java/org/displaytag/render/HssfTableWriter.java
===================================================================
--- displaytag-export-poi/src/main/java/org/displaytag/render/HssfTableWriter.java	(revision 1133)
+++ displaytag-export-poi/src/main/java/org/displaytag/render/HssfTableWriter.java	(working copy)
@@ -23,6 +23,7 @@
 import org.apache.poi.hssf.usermodel.HSSFCellStyle;
 import org.apache.poi.hssf.usermodel.HSSFDataFormat;
 import org.apache.poi.hssf.usermodel.HSSFFont;
+import org.apache.poi.hssf.usermodel.HSSFRichTextString;
 import org.apache.poi.hssf.usermodel.HSSFRow;
 import org.apache.poi.hssf.usermodel.HSSFSheet;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
@@ -115,7 +116,7 @@
         this.currentCell = this.currentRow.createCell((short) this.colNum);
         this.currentCell.setCellStyle(style);
         String caption = model.getCaption();
-        this.currentCell.setCellValue(caption);
+        this.currentCell.setCellValue(new HSSFRichTextString(caption));
         this.rowSpanTable(model);
     }
 
@@ -176,7 +177,6 @@
     {
         column.getOpenTag(); // has side effect, setting its stringValue, which affects grouping logic.
         this.currentCell = this.currentRow.createCell((short) this.colNum++);
-        this.currentCell.setEncoding(HSSFCell.ENCODING_UTF_16);
     }
 
     /**
@@ -210,7 +210,7 @@
         }
         else
         {
-            this.currentCell.setCellValue(this.escapeColumnValue(value));
+            this.currentCell.setCellValue(new HSSFRichTextString(this.escapeColumnValue(value)));
         }
 
     }
@@ -321,9 +321,8 @@
     private void writeHeaderFooter(String value, HSSFRow row, HSSFCellStyle style)
     {
         this.currentCell = row.createCell((short) this.colNum++);
-        this.currentCell.setCellValue(value);
+        this.currentCell.setCellValue(new HSSFRichTextString(value));
         this.currentCell.setCellStyle(style);
-        this.currentCell.setEncoding(HSSFCell.ENCODING_UTF_16);
     }
 
     /**

