fix Unicode completion bug: IPython completion requests use character index, not byte index