diff -rNup nodepicker\nodepicker.module nodepicker_my\nodepicker.module
--- nodepicker\nodepicker.module	Thu Apr 08 17:47:56 2010
+++ nodepicker_my\nodepicker.module	Thu Jun 03 03:18:39 2010
@@ -271,7 +271,7 @@ function nodepicker_render_tag($rawtag) 
   $attr = nodepicker_decode_tag($rawtag);
   
   // Create link.
-  $link = l($attr['link_text'], drupal_get_path_alias($attr['href']), array('attributes' => array('title' => $attr['title'], 'class' => 'nodepicker-link')));
+  $link = l($attr['link_text'], drupal_get_path_alias($attr['href']), array('attributes' => array( 'title' => $attr['title'], 'class' => 'nodepicker-link'), 'html' => TRUE));
   
   return $link;
 }
@@ -286,8 +286,8 @@ function nodepicker_decode_tag($rawtag) 
   $attr = array_map('trim', explode('==', $rawtag));
   
   $tag['href'] = $attr[0];
-  $tag['title'] = utf8_encode(urldecode($attr[1]));
-  $tag['link_text'] = utf8_encode(urldecode($attr[2]));
+  $tag['title'] = rawurldecode($attr[1]);
+  $tag['link_text'] = rawurldecode($attr[2]);
   
   return $tag;
-}
\ No newline at end of file
+}
diff -rNup nodepicker\plugins\nodepicker\nodepicker.js nodepicker_my\plugins\nodepicker\nodepicker.js
--- nodepicker\plugins\nodepicker\nodepicker.js	Tue Mar 30 23:46:52 2010
+++ nodepicker_my\plugins\nodepicker\nodepicker.js	Thu Jun 03 03:06:11 2010
@@ -42,7 +42,7 @@ Drupal.wysiwyg.plugins.nodepicker = {
     var $content = $('<div>' + content + '</div>'); // No .outerHTML() in jQuery :(
     $('a.nodepicker-link', $content).each(function(node) {
       var $self = $(this);
-      var inlineTag = '[nodepicker==' + $self.attr("href") + '==' + escape($self.attr("title")) + '==' + escape($self.text()) + ']';
+      var inlineTag = '[nodepicker==' + $self.attr("href") + '==' + encodeURIComponent(($self.attr("title"))) + '==' + encodeURIComponent($self.text()) + ']';
       $(this).replaceWith(inlineTag);
     });
     return $content.html();
@@ -73,7 +73,7 @@ function nodepicker_decode(tag, node) {
   
   $.ajax({
       type: "POST",
-      url: Drupal.settings.basePath + 'index.php?q=nodepicker/ajax&tag=[nodepicker==' + escape(tag) + ']',
+      url: Drupal.settings.basePath + 'index.php?q=nodepicker/ajax&tag=[nodepicker==' + encodeURIComponent(tag) + ']',
       contentType: "application/json; charset=utf-8",
       dataType: "json",
       data: {},
@@ -83,5 +83,5 @@ function nodepicker_decode(tag, node) {
         response = data;
       }
   });
-  return '<a class="nodepicker-link" href="'+response.href+'" title="'+response.title+'">'+response.link_text+'</a>';
-}
\ No newline at end of file
+  return '<a class="nodepicker-link" href="'+response.href+'" title="'+decodeURIComponent(response.title)+'">'+decodeURIComponent(response.link_text)+'</a>';
+}
