A path is always a Unicode string, while a DB name can be an arbitrary binary blob.
On many POSIX platforms, a path is a blob which does not contain '\000'. These systems do not enforce Unicode encoding at all.
My mistake. I was unaware. On those platforms, how do you type a path name into a terminal?