private String getCharEncoding() {
    if (_charEncoding != null && !"".equals(_charEncoding)) return _charEncoding;

    String charEncoding = _charEncoding;

    if (_charEncoding == null || "".equals(_charEncoding)) charEncoding = null;

    if (charEncoding == null) {
      // XXX performance?
      WebApp webApp = WebApp.getCurrent();

      if (webApp.getJsp() != null) charEncoding = webApp.getJsp().getPageEncoding();

      if (charEncoding == null) charEncoding = webApp.getCharacterEncoding();
    }

    return charEncoding;
  }