Only three things I can think of: 1) There is a mistake with Zhang Cheng's entry in one of the name files, or 2) the coordinates he spawns at are bad, or 3) "faction hre" needs to be on the line below "spawn_army"
Code:
spawn_army
faction hre
character J-5111-ZhangCheng, named character, age 16, x 160, y 104, portrait zhangcheng
traits JbAAAA0100 1 , LoyaltyStarter 1 , Lz-6009-0 1 , Jn1001 1 , Jn2000 6 , Jn3000 7 , Jn4000 7 , Jn5000 7 , JnA1000 2 , JnA2000 3 , JnA3000 2 , JnA4000 2 , JnA5000 2 , JnA6000 2 , JnA7000 6 , JnA8000 8 , JnA9000 5 , Jnxg1000 2 , B2060JnAM-A 1 , C3140JnCZ-A 1 , C3070JnBJ-A 1 , Jn-orthodox 3
unit JiangJun_JiangDong_Ea exp 0 armour 0 weapon_lvl 0
end