title: Special characters coming through as ? in SMPP and Java
body: <p>I've spent a crazy amount of time trying to get special characters to come through properly in our application. Our provider told us to use "GSM0338, also known as ISO-8859". To me, this means ISO-8895-1, since we want spanish characters.</p>
  
  <p>The flow: (Telling you everything, since I've been playing around with this for a while.)</p>
  
  <ol>
  <li><p>Used notepad++ to create the message files in UTF-8 encoding. (No option to save as ISO-8859-1).</p></li>
  <li><p>Sent each file through a quick Java program which converts and writes new files:</p>
  
  <pre><code>String text = readTheFile(....);
  
  output = text.getBytes("ISO-8859-1");
  FileOutputStream fos = new FileOutputStream(filesPathWithoutName + "\\converted\\" + filename);
  fos.write(output);
  fos.close();
  </code></pre></li>
  <li><p>SMPP test class in another project reads these files:</p>
  
  <pre><code>private static String readMessageFile(final String filenameOfFirstMessage) throws IOException {
  
      BufferedReader br = new BufferedReader(new FileReader(filenameOfFirstMessage));
      String message;
  
      try {
          StringBuilder sb = new StringBuilder();
          String line = br.readLine();
  
          while (line != null) {
              sb.append(line);
              sb.append("\n");
              line = br.readLine();
          }
          message = sb.toString();
      } finally {
          br.close();
      }
  
      return message;
  }
  </code></pre></li>
  <li><p>Calls send    </p>
  
  <pre><code>public void send(final String message, final String targetPhone) throws MessageException {
      SmppMessage smppMessage = toSmppMessage(message, targetPhone);
      smppSmsService.sendMessage(smppMessage);
  }
  
  private SmppMessage toSmppMessage(final String message, final String targetPhone) {
      SmppMessage smppMessage = new SmppMessage();
      smppMessage.setMessage(message);
      smppMessage.setRecipientAddress(toGsmAddress(targetPhone));
      smppMessage.setSenderAddress(getSenderGsmAddress());
      smppMessage.setMessageType(SmppMessage.MSG_TYPE_DATA);
      smppMessage.setMessageMode(SmppMessage.MSG_MODE_SAF);
      smppMessage.requestStatusReport(true);
      return smppMessage;
  }
  </code></pre></li>
  </ol>
  
  <p><strong>Problem:</strong>
  SMSs containing letters ñ í ó are delivered, but with these letters displaying as question marks.</p>
  
  <p>Configuration:</p>
  
  <pre><code>smpp.smsc.charset=ISO-8859-1
  smpp.data.coding=0x03
  </code></pre>
  
  <p>Absolutely any help with this would be GREATLY appreciated. Thank you so much for reading.</p>