title: How to get key.id() in unicode format
body: <p>I want to show chinese url for the pages that are in chinese language.</p>
  
  <p>the Key class is returning id() as a str.</p>
  
  <pre><code>pages = Page.query().fetch()
  for page in pages:
     type(page.key.id())
     &gt;&gt; &lt;type 'str'&gt;
  </code></pre>
  
  <p>I'm using the entity Id to store the url of the page. All was ok until I want to use chinese inside my urls. Since the page.key.id() does not returns unicode Jinja makes an error at decoding.</p>
  
  <pre><code>{%- for page in pages %}
  &lt;a href="/admin/page/{{ page.key.id() }}"&gt;{{ page.key.id() }}&lt;/a&gt;
  {%- endfor %}
  </code></pre>
  
  <p>gives :</p>
  
  <pre><code>UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
  </code></pre>
  
  <p>However, the SDK Console/Datastore viewer is perfectly able to show the chinese string as the entity ID.</p>
  
  <p>Is it a mistake or wrong usage of gae to use the entity ID as a url ? 
  Should I change my design or is there a way to make my current design work ?</p>