diff -Nur class.orig/net/customrequestgenerator.class.php class/net/customrequestgenerator.class.php
--- class.orig/net/customrequestgenerator.class.php	2006-06-16 08:25:45.680792558 +0800
+++ class/net/customrequestgenerator.class.php	2006-06-16 08:36:23.160057155 +0800
@@ -283,11 +283,13 @@
                                    xmlns:dc="http://purl.org/dc/elements/1.1/"
                                    xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">';
 
-            $trackbackLink = $this->getTrackbackUrl()."?id=".$post->getId();
+            $trackbackLink = str_replace('-', '%2D', $this->getTrackbackUrl()."?id=".$post->getId());
+	    $postLink = str_replace('-', '%2D', $this->postLink($post));
+	    $topic = str_replace('-', '\-', $post->getTopic());
             $rdfBody = "<rdf:Description
-                             rdf:about=\"".$this->postLink($post)."\"
-                             dc:identifier=\"".$this->postLink($post)."\"
-                             dc:title=\"".$post->getTopic()."\"
+                             rdf:about=\"".$postLink."\"
+                             dc:identifier=\"".$postLink."\"
+                             dc:title=\"".$topic."\"
                              trackback:ping=\"".$trackbackLink."\"/>";
             $rdfFooter = "</rdf:RDF>";
 
diff -Nur class.orig/net/modrewriterequestgenerator.class.php class/net/modrewriterequestgenerator.class.php
--- class.orig/net/modrewriterequestgenerator.class.php	2006-06-16 08:26:08.656621134 +0800
+++ class/net/modrewriterequestgenerator.class.php	2006-06-16 08:36:55.351819113 +0800
@@ -224,12 +224,13 @@
                                    xmlns:dc="http://purl.org/dc/elements/1.1/"
                                    xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">';
 
-            $trackbackLink = $this->getTrackbackUrl()."?id=".$post->getId();
-
+            $trackbackLink = str_replace('-', '%2D', $this->getTrackbackUrl()."?id=".$post->getId());
+            $postLink = str_replace('-', '%2D', $this->postLink($post));
+            $topic = str_replace('-', '\-', $post->getTopic());
             $rdfBody = "<rdf:Description
-                             rdf:about=\"".$this->postLink($post)."\"
-                             dc:identifier=\"".$this->postLink($post)."\"
-                             dc:title=\"".$post->getTopic()."\"
+                             rdf:about=\"".$postLink."\"
+                             dc:identifier=\"".$postLink."\"
+                             dc:title=\"".$topic."\"
                              trackback:ping=\"".$trackbackLink."\"/>";
             $rdfFooter = "</rdf:RDF>";
 
diff -Nur class.orig/net/prettyrequestgenerator.class.php class/net/prettyrequestgenerator.class.php
--- class.orig/net/prettyrequestgenerator.class.php	2006-06-16 08:26:18.596546991 +0800
+++ class/net/prettyrequestgenerator.class.php	2006-06-16 08:37:11.207701904 +0800
@@ -245,11 +245,13 @@
                                    xmlns:dc="http://purl.org/dc/elements/1.1/"
                                    xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">';
 
-            $trackbackLink = $this->getTrackbackUrl()."?id=".$post->getId();
+            $trackbackLink = str_replace('-', '%2D', $this->getTrackbackUrl()."?id=".$post->getId());
+            $postLink = str_replace('-', '%2D', $this->postLink($post));
+            $topic = str_replace('-', '\-', $post->getTopic());
             $rdfBody = "<rdf:Description
-                             rdf:about=\"".$this->postLink($post)."\"
-                             dc:identifier=\"".$this->postLink($post)."\"
-                             dc:title=\"".$post->getTopic()."\"
+                             rdf:about=\"".$postLink."\"
+                             dc:identifier=\"".$postLink."\"
+                             dc:title=\"".$topic."\"
                              trackback:ping=\"".$trackbackLink."\"/>";
             $rdfFooter = "</rdf:RDF>";
 
diff -Nur class.orig/net/rawrequestgenerator.class.php class/net/rawrequestgenerator.class.php
--- class.orig/net/rawrequestgenerator.class.php	2006-06-16 08:26:28.660471933 +0800
+++ class/net/rawrequestgenerator.class.php	2006-06-16 08:37:23.439611499 +0800
@@ -260,11 +260,13 @@
                                    xmlns:dc="http://purl.org/dc/elements/1.1/"
                                    xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">';
 
-            $trackbackLink = $this->getTrackbackUrl()."?id=".$post->getId();
+            $trackbackLink = str_replace('-', '%2D', $this->getTrackbackUrl()."?id=".$post->getId());
+            $postLink = str_replace('-', '%2D', $this->postLink($post));
+            $topic = str_replace('-', '\-', $post->getTopic());
             $rdfBody = "<rdf:Description
-                             rdf:about=\"".$this->postLink($post)."\"
-                             dc:identifier=\"".$this->postLink($post)."\"
-                             dc:title=\"".$post->getTopic()."\"
+                             rdf:about=\"".$postLink."\"
+                             dc:identifier=\"".$postLink."\"
+                             dc:title=\"".$topic."\"
                              trackback:ping=\"".$trackbackLink."\"/>";
             $rdfFooter = "</rdf:RDF>";
 
