document.write('<link rel="stylesheet" href="http://flowcoder.com/stylesheets/pygment_trac.css" />');
document.write('<link rel="stylesheet" href="http://flowcoder.com/stylesheets/embed.css" />');
document.write('<div class="flowcoder_post flowcoder_clearfix">');
document.write('<div class="flowcoder_posttitle"><a href=\"http://flowcoder.com/156\">Truncate a UTF-8 string at character boundary in Ruby 1.8<\/a></div>');
document.write('<div class="flowcoder_postbody flowcoder_syntax"><div class=\"highlight\"><pre><span class=\"c1\"># For more on $KCODE, see<\/span>\n<span class=\"c1\">#   http://blog.grayproductions.net/articles/the_kcode_variable_and_jcode_library<\/span>\n<span class=\"vg\">$KCODE<\/span> <span class=\"o\">=<\/span> <span class=\"s1\">&#39;u&#39;<\/span>\n\n<span class=\"k\">def<\/span> <span class=\"nf\">truncate<\/span><span class=\"p\">(<\/span><span class=\"n\">str<\/span><span class=\"p\">,<\/span> <span class=\"n\">length<\/span><span class=\"p\">)<\/span>\n  <span class=\"n\">str<\/span><span class=\"o\">.<\/span><span class=\"n\">match<\/span><span class=\"p\">(<\/span><span class=\"sr\">/.{0,<\/span><span class=\"si\">#{<\/span><span class=\"n\">length<\/span><span class=\"si\">}<\/span><span class=\"sr\">}/m<\/span><span class=\"p\">)<\/span><span class=\"o\">.<\/span><span class=\"n\">to_s<\/span>\n<span class=\"k\">end<\/span>\n\n<span class=\"nb\">p<\/span> <span class=\"n\">truncate<\/span><span class=\"p\">(<\/span><span class=\"s2\">&quot;åéîøü&quot;<\/span><span class=\"p\">,<\/span> <span class=\"mi\">3<\/span><span class=\"p\">)<\/span> <span class=\"c1\"># =&gt; &quot;åéî&quot;<\/span>\n<\/pre><\/div>\n</div>');
document.write('<div class="flowcoder_bottombar flowcoder_clearfix">');
document.write('<div class="flowcoder_postedby">Posted by <a href=\"http://flowcoder.com/gbuesing\">gbuesing<\/a> on <a href=\"http://flowcoder.com/\">Flowcoder<\/a></div>');
document.write('<div class="flowcoder_viewraw"><a href=\"http://flowcoder.com/156.txt\">view raw<\/a></div>');
document.write('</div></div>');
