title: Zero-width/invisible characters to force custom ordering
body: <p>What zero-width characters exist in UTF-8 that are not treated as spaces<a href="http://en.wikipedia.org/wiki/List_of_Unicode_characters" rel="noreferrer">1</a>? I am particularly interested in those which glyphs that do not render on major browsers: the not-found rectangle should never be shown.</p>
  
  <p>There are many web services that order user entered data alphabetically (eg. Gmail's labels). I would like to use those invisible characters to enforce custom ordering.</p>
  
  <p><a href="http://en.wikipedia.org/wiki/List_of_Unicode_characters" rel="noreferrer">1</a> <em>Treated as spaces</em>: not removed by commonly used implementations of <code>trim</code> and similar. With the gmail example, <code>U+202F</code> (Narrow no-break space) is trimmed.</p>
  
  <p><strong>Edit:</strong> Only one invisible character should suffice. After all, they may be repeated without having an effect on the visual representation (assuming a lower code ascii text follows):</p>
  
  <pre><code>[char]Z on first position
  [char][char]B on second position
  [char][char][char]C on third position
  </code></pre>
  
  <p>Unfortunately, all characters I could think of are either trimmed right away or ignored by sort functions.</p>
  
  <p><strong>Edit:</strong> I've browsed through <a href="http://en.wikipedia.org/wiki/List_of_Unicode_characters" rel="noreferrer">all UTF-8 characters</a> that seemed zero width / invisible and none worked as required. <code>U+0 - U+20</code>, <code>DEL</code>, Control chars, even symbols such as U+034F: <code>COMBINING GRAPHEME JOINER (alias CGJ)</code>, all are treated properly and thus unusable for my purpose. I keep searching though.</p>