fix encoding bug, upgrade book parsing