Okay, time to discuss common errors.
-The 'gbk' codec error is something I have only seen when testing on computer from other non-Latin alphabet countries. This is because characters from languages like Chinese and Japanese require more than one byte to represent. The GUI library I am using cannot handle that unless it was compiled on that type of computer to begin with. (I think, since this library has been used in Chinese development) If your computer does not use any different or outlandish characters normally, then contact me. Not going to lie, the guy that was testing this for me changed his computer language to English and rebooted. Then it worked fine. If you want to compile a Chinese or Japanese version, by all means, let me know and we can work something out.
-The ascii codec errors are due to decoding text. The only accented character I have tested at all is the accented e from the pokemon logo. All others are untested and I have no idea if they even load. If you are loading an English game, then I can guarantee you that you are loading text from the wrong offset if you get an ascii error. This could the list of names, moves, or items, or the pokedex entries. If you are loading from a non-English game, I hope you checked your offsets. If they are right, contact me.
Also, I most commonly get this error when I am testing and constantly erasing and rebuilding the ini. I get it when I forget to clear the 0xFFFFFE number and end up loading Emerald with FireRed's ini. So yeah, make sure you are loading from the right offsets.
Edit:
-I received this error twice in the past ten minutes: "List index out of range" and on the line above, it was in the function get_move_data. This error baffles me, as there is no way it could happen. Whomever submitted it, could you please contact me?