code: def sortable_title(portal, title):
      
      if not title:
          return ''
  
      def_charset = portal.plone_utils.getSiteEncoding()
      sortabletitle = str(title.lower().strip())
      # Replace numbers with zero filled numbers
      sortabletitle = num_sort_regex.sub(zero_fill, sortabletitle)
      # Truncate to prevent bloat
      for charset in [def_charset, 'latin-1', 'utf-8']:
          try:
              sortabletitle = safe_unicode(sortabletitle, charset)[:30]
              sortabletitle = sortabletitle.encode(def_charset or 'utf-8')
              break
          except UnicodeError:
              pass
          except TypeError:
              # If we get a TypeError if we already have a unicode string
              sortabletitle = sortabletitle[:30]
              break
      return sortabletitle
docs: Convert title to sortable title