I understand it's annoying that Lua doesn't have a a single, officially recommended Unicode library* (in the core distribution or otherwise), but as problems go, it's easily solved by loading an existing, freely available library and getting on with life. It's much less trouble than (say) removing the GIL from Python or retroactively fixing weird operator precendence in C.
* Though there are recommendations at http://lua-users.org/wiki/LuaUnicode .
In practice, it could look like this:
U = require "unicode"
s = U"some unicode" -- using a library sure is hard
length = s:len()
replaced = s:gsub("thing1", "thing2") -- global substitute
etc.
You can add regular expressions and bignums to Lua pretty painlessly, too.