Your DB will need to be cleaned up to remove the incomplete chars. I have no idea if the incomplete chars could be a cause for the crashes. They might simply be a result of the crashes.
You could run world under gdb and get a backtrace when it crashes. In your server dir, run the following. You type the portions in red.
Code:
gdb ./world
...misc output...
(gdb) handle SIGTRAP nostop
SIGTRAP is used by the debugger.
Are you sure you want to change it? (y or n) y
Signal Stop Print Pass to program Description
SIGTRAP No Yes No Trace/breakpoint trap
(gdb) run
...bunch of output...
At that point you can start up your zone servers and then log in and try to create a character. When the process crashes, it will drop you back to the (gdb) prompt.
Code:
(gdb) bt
...bunch of output from backtrace...
(gdb)
Post the backtrace output here and I'll see if I can help you further.