title: Get rest of the string to the end with mb_substr() and still set encoding
body: <p>With <code>substr()</code> you can omit the third parameter to get the whole rest of the string:</p>
  <pre><code>substr('abcdefg', 2) // returns &quot;cdefg&quot;
  </code></pre>
  <p>You can't do the same with <code>mb_substr()</code>:</p>
  <pre><code>mb_substr('abcdefg', 2, null, 'UTF-8'); // returns empty string
  </code></pre>
  <p>I only found weird and ugly solutions.</p>
  <ul>
  <li><p>Setting a very high number as length:</p>
  <p><code>$a = mb_substr('abcdefg', 2, 9999999999, 'UTF-8');</code></p>
  </li>
  <li><p>Calculating the number:</p>
  <p><code>$a = mb_substr('abcdefg', 2, mb_strlen('abcdefg', 'UTF-8') - 2, 'UTF-8');</code></p>
  </li>
  <li><p>Omitting the charset parameter by using <code>mb_internal_encoding()</code>:</p>
  <p><code>$temp = mb_internal_encoding(); // prevent action at a distance</code><br />
  <code>mb_internal_encoding('UTF-8');</code><br />
  <code>$a = mb_substr('abcdefg', 2);</code><br />
  <code>mb_internal_encoding($temp);</code></p>
  </li>
  </ul>
  <p>Isn't there a real solution?</p>