diff --git a/modules/node.module b/modules/node.module
index 117e2e8a86c2890693627ef1727a4c2895069f2c..3d3f6bf8a7fda9584780243f16301185aff89312 100644
--- a/modules/node.module
+++ b/modules/node.module
@@ -209,6 +209,18 @@ function node_teaser($body) {
     return substr($body, 0, $length + 1);
   }
 
+  if ($length = strpos($body, '。', $size)) {
+    return substr($body, 0, $length + 1);
+  }
+
+  if ($length = strpos($body, '、', $size)) {
+    return substr($body, 0, $length + 1);
+  }
+
+  if ($length = strpos($body, 'ØŸ ', $size)) {
+    return substr($body, 0, $length + 1);
+  }
+
   /*
   ** Nevermind, we split it the hard way ...
   */
diff --git a/modules/node/node.module b/modules/node/node.module
index 117e2e8a86c2890693627ef1727a4c2895069f2c..3d3f6bf8a7fda9584780243f16301185aff89312 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -209,6 +209,18 @@ function node_teaser($body) {
     return substr($body, 0, $length + 1);
   }
 
+  if ($length = strpos($body, '。', $size)) {
+    return substr($body, 0, $length + 1);
+  }
+
+  if ($length = strpos($body, '、', $size)) {
+    return substr($body, 0, $length + 1);
+  }
+
+  if ($length = strpos($body, 'ØŸ ', $size)) {
+    return substr($body, 0, $length + 1);
+  }
+
   /*
   ** Nevermind, we split it the hard way ...
   */