title: json_encode adding special characters
body: <p>Now without having to read boring code let me just summarise what is going on. 
  An XHR request goes out via jQuery post function when the document loads. The post sends a POST header to a PHP file that calls another php file to process some strings and return it. Finally an echoed json_encode function returns the string to the jQuery post function which the jQuery then manipulates into the DOM.</p>
  
  <p>The result that is returned by JavaScript's post function is this:</p>
  
  <pre><code>&lt;option value="\&amp;quot;auto2\&amp;quot;"&gt;auto2&amp;lt;\/option&amp;gt;&lt;/option&gt;
  </code></pre>
  
  <p>See all those escape characters? Well I tried just echoing the result on the PHP side instead of <code>echo</code>ing with <code>json_encode</code> function and it returns:</p>
  
  <pre><code>&lt;option value="auto"&gt;auto&lt;/option&gt;
  </code></pre>
  
  <p>Without any other special characters. This is what is desired. My question is, is this okay to use? And why does <code>json_encode</code> add special characters? Is there a way to use <code>json_encode</code> without those other characters being returned?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p><strong>JS</strong></p>
  
  <pre><code>    $(document).ready(function() {
      var PROCESSOR_FILE = "http://address/include/processor.php";
  
      $.post(PROCESSOR_FILE, {"task": "verticalSelect"}, function(data) {
          $("#verticalSelect").html(data);
      });
  });
  </code></pre>
  
  <p><strong>PHP</strong></p>
  
  <pre><code>$IMEXporterpath = dirname(__FILE__);
  $IMEXporterFile = $IMEXporterpath . "/IMEXporter.class.php";
  
  if (isset($_REQUEST["task"]))
      $task   = $_REQUEST["task"];
  else
      $task   = "";
  
  
      require_once $IMEXporterFile;
      $IMEXp = new IMEXp();
  
      $result = $IMEXp-&gt;returnHtml($task);
      echo json_encode($result);
  </code></pre>
  
  <p><strong>MORE PHP</strong></p>
  
  <pre><code>public function returnHtml($element) {
          return $this-&gt;returnHtml_HTML($element);
      }
  
  
      private function returnHtml_HTML($element) {
          if($element == "verticalSelect") {
  
              $dbTables   = $this-&gt;get_Tables();
              $nbTable    = count($dbTables);
  
              for ($a = 0; $a &lt; $nbTable; $a++) {
                      $ZHTML  .=  '&lt;option value="'.$dbTables[$a].'"&gt;'.$dbTables[$a].'&lt;/option&gt;';
              }
          }
          return $ZHTML;
      }
  </code></pre>