<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/105222/">http://git.reviewboard.kde.org/r/105222/</a>
     </td>
    </tr>
   </table>
   <br />








<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On July 12th, 2012, 4:20 p.m., <b>David Faure</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/105222/diff/1/?file=67362#file67362line215" style="color: black; font-weight: bold; text-decoration: underline;">workspace/kio/kio_activities.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">public:</pre></td>

  </tr>
 </tbody>




 
 



 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">215</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="n">kio</span><span class="o">-></span><span class="n">listEntry</span><span class="p">(</span><span class="n">createUDSEntryForUrl</span><span class="p">(</span><span class="n">QUrl</span><span class="o">::</span><span class="n">fromPercentEncoding</span><span class="p">(</span><span class="n">it</span><span class="p">[</span><span class="mi">1</span><span class="p">].</span><span class="n">toString</span><span class="p">().</span><span class="n">toAscii</span><span class="p">())),</span> <span class="kc">false</span><span class="p">);</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This looks like a very ugly workaround, to me.

Does it[1].uri() return a QUrl, or a QString?
If a QString, then the problem is passing it to the QUrl constructor. QUrl in Qt4 is broken in that respect. (Fixed in Qt5).
Use KUrl instead, or use QUrl::fromEncoded(it[1].uri().toLatin1()). I'd prefer KUrl though, to keep this code readable and make it a one-char fix ;)</pre>
 </blockquote>



 <p>On July 19th, 2012, 12:45 a.m., <b>Xuetian Weng</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The problem is uri() return a QUrl, and the url inside it is already encoded. When it passed to createUDSEntryForUrl it actually encoded twice.

I wonder we should fix it in soprano or we should fix it when the original url is saved.</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">@Xuetian

Can you test the following instead of your proposed patch:
kio_activities.cpp:127         QByteArray encodedPath = QUrl::toPercentEncoding(url.url(), "", "/");

The percent encoding was there mostly for the slashes. I've tested it with cyrilic and non-ascii latin characters.
</pre>
<br />




<p>- Ivan</p>


<br />
<p>On June 18th, 2012, 6:09 a.m., Xuetian Weng wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for KDE Runtime and Ivan Čukić.</div>
<div>By Xuetian Weng.</div>


<p style="color: grey;"><i>Updated June 18, 2012, 6:09 a.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The query result for the Uri is already encoded to PercentEncoding, thus url.url() will not get the correct url.

Not sure this should always handled in this case, or soprano itself (uri()) should be fixed.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Works here for utf8 file name.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>workspace/kio/kio_activities.cpp <span style="color: grey">(8ef1f7b)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/105222/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>