How to create a machine name for custom table field with transliteration available
I don't think core has any such function, but the Pathauto module does.

pathauto_cleanstring():


  Clean up a string segment to be used in an URL alias.
  
  Performs the following possible alterations:
  
  
  Remove all HTML tags.
  Process the string through the transliteration module.
  Replace or remove punctuation with the separator character.
  Remove back-slashes.
  Replace non-ascii and non-numeric characters with the separator.
  Remove common words.
  Replace whitespace with the separator character.
  Trim duplicate, leading, and trailing separators.
  Convert to lower-case.
  Shorten to a desired length and logical position based on word boundaries.
  


Emphasis mine.