《水浒传》的史地错误

本文摘自《水浒寻宋》 作者:虞云国与《三国演义》不同 , 《水浒传》虽有历史的影子 , 却不是历史小说 。 历史上 , 宋江起义确有其事 , 但史料有限 , 语焉不详 , 这就给小说创作预留了巨大的空间 。 《水浒传》涉及的史实与地理 , 有的与宋代实际两相契合 , 有的则颇有出入 。 前者印证了小说有历史的影子 , 后者说明了不是历史小说 。一 史实错讹与吹毛求疵在史实上 , 《水浒传》开卷就错:“话说大宋仁宗天子在位 , 嘉祐三年三月三日五更三点 , 天子驾坐紫宸殿 , 受百官朝贺……有一大臣 , 越班启奏 。 天子看时 , 乃是参知政事范仲淹 。 ”嘉祐三年是1058 年 , 而范仲淹早在皇祐四年(1052)就已经去世 , 死了六年 , 居然还能“越班启奏” , 岂非咄咄怪事!小说第二回叙述高俅发迹时说:小苏学士出来见了高俅 , 看罢来书 , 知道高俅原是帮闲浮浪的人 , 心下想道:“我这里如何安着得他!不如做个人情荐他去驸马王晋卿府里 , 做个亲随 。 人都唤他做小王都太尉 , 便喜欢这样的人 。 ”…… 这太尉乃是哲宗皇帝妹夫 , 神宗皇帝的驸马 。王晋卿 , 名诜 , 是北宋著名画家 , 有《渔村小雪图》《烟江叠嶂图》传世 。 他是宋初大将王全斌的后裔 。 《宋史·王全斌传》附其曾孙《王凯传》说:“子缄 , 缄子诜 , 字晋卿 , 能诗善画 , 尚蜀国长公主 。 ”而据《宋史·公主传》 , 这位蜀国长公主应是英宗第二女 , 神宗皇帝一母同胞的亲妹妹 , 哲宗皇帝的亲姑姑 。 不过 , 王晋卿这位神宗皇帝的妹夫 , 英宗皇帝的驸马 , 小说却让他莫名其妙地低了一辈 。小说在“宋公明全伙受招安”一回录有招安诏书 , 落款是“宣和四年春二月” 。 这在历史年代上大有问题 。 其一 , 与历史上宋江投降的年代相差一年 , 这有《宋史·徽宗纪》宣和三年(1121)二月纪事为证:“淮南盗宋江等犯淮阳军 , 遣将讨捕 。 又犯京东、江北 , 入楚、海州界 , 命知州张叔夜招降之 。 ”其二 , 倘据小说的安排 , 宋江受招安在宣和四年二月 , 轰轰烈烈征方腊还在其后 , 而据《宋史·徽宗纪》 , 宣和三年八月“方腊伏诛” , 倘若宋江在宣和四年才受招安 , 哪里还有南征方腊的用武之地呢?在这些史实讹误中 , 一代名臣范仲淹的卒年 , 驸马都尉王诜的辈分 , 都是不难查证的;而方腊被处死的历史年份也确切无疑 , 更何况是宋江征方腊能否成立的关键所在 , 小说对此都疏于考证 。 这也充分说明《水浒传》出自文化程度并不高的说书艺人之手 , 自然不能要求他们对重要史实进行缜密考证 。 读《水浒传》 , 每事都考证出个子丑寅卯 , 当然没有必要 。 但梳理其讹误 , 有助于人们从另一角度把握小说 , 也不见得就是吹毛求疵 。二 地理讹误与说书艺人至于地理错误 , “智取生辰纲”最为集中 。 第十六回叙述杨志把生辰纲从北京大名府(今河北大名)护送去东京开封府 , “五七日后 , 人家渐少 , 行客又稀 , 一站站都是山路” 。 对晁盖吴用他们打劫的黄泥冈 , 小说点明“休道西川蜀道险 , 须知此是太行山”;而第十七回却说 , 与杨志一起押运生辰纲的老都管“自和一行人来济州府该管官吏首告” , 则黄泥冈应在济州管辖范围 。 当时黄河改道北流 , 从大名府到开封府 , 取道几乎沿着黄河径直朝南 , 一路上都是黄泛平原 , 并无什么山路 。 此是一 。 由于从大名到东京几乎是径直南行 , 根本不必绕道东南的济州(治所在今山东巨野) , 而既然黄泥冈在济州境内 , 与太行山就更是了无关系 。 此其二 。 另外 , 当杨志在黄泥冈盘问时 , 晁盖等所扮的七个卖枣客人回答:“我等弟兄七人是濠州人 , 贩枣子上东京去 , 路途打从这里经过 。 ”这里又有大破绽 。 濠州在今安徽凤阳一带 , 位于东京开封的东南方向 , 而黄泥冈应在大名府与开封府之间 , 必在开封的东北 , 从濠州贩枣子到东京 , 无论如何也不可能绕道到东京东北再朝南走的 , 杨志居然没能发现其中的马脚 。 可见搬演这段故事的南宋说书人 , 对大名、开封、济州、濠州的地理方位不甚了然 。对相关地名之间的地理方位 , 小说经常出错 。 试举数例 。 其一 , 第三回叙述史进从少华山(即华山)去延安府找师父王进 , 行走半月来到渭州 。 渭州在今甘肃平凉 , 从华山到延安应取道直北 , 无论如何不可能经过渭州 。 其二 , 第五回描写鲁智深从五台山去东京途中 , 路经桃花村 , 庄主刘太公说:“此间有座山 , 唤做桃花山 , 近来山上有两个大王 , 扎了寨栅 , 聚集着五七百人 , 打家劫舍 。 此间青州官军捕盗 , 禁他不得 。 ”青州治所在今山东青州市 , 而从山西五台山到东京开封府 , 无论如何也不会经过山东青州的 。 其三 , 第二十三回说武松从沧州去清河县看望武大郎 , 在阳谷县的景阳冈打死了猛虎 。 在北宋 , 清河是恩州的治所 , 与沧州同属河北东路;阳谷是郓州的属县 , 属京东西路 , 位于清河之南 。 故而武松南下探兄必先经过清河 , 完全没有必要再南行近二百里地 , 到阳谷景阳冈去打虎逞能 。 其四 , 第三十九回“浔阳楼宋江吟反诗”提到“这江州对岸 , 另有个城子 , 唤做无为军 , 却是个野去处” , 无为军的通判黄文炳经常“自家一只快船渡过江来” 。 宋代无为军即今安徽无为 , 江州则是今天的九江 , 从无为溯江而上 , 沿途要经过今安徽的铜陵、贵池、安庆与江西的彭泽、湖口才能达到九江 , 两地舟行相距数百里 , 根本不是隔岸相望一苇可航的 。所有这些 , 无不说明参与《水浒传》原创的说书艺人对历史地理掌握得既不全面 , 更不深入 。 与小说中那些史实错讹一样 , 这些地理讹误也表明小说原创者的历史知识有限 , 文化程度不高 。 他们只是说书艺人 , 而不是考据学者 。 同时 , 人们也有理由怀疑罗贯中不是《水浒传》的最后改订者 , 因为这些常识错误与《三国演义》作者所表现出来的历史知识相去实在太远 。三 从地名错乱看成书过程泰安州也是《水浒传》的重要地名 。 第六十一回说卢俊义中吴用之计 , “想东南方有个去处 , 是泰安州” , 可以避难消灾;第七十四回“燕青智扑擎天柱” , 也以泰安州作场景 。 但泰安州始设于金朝大定二十二年(1182) , 由原来的泰安军升为州 。 这一讹误似乎说明 , 《水浒传》故事雏形不应该出现在泰安升州以前 , 即不太可能早于十二世纪末叶至十三世纪初叶 。《水浒传》第二十四回描写西门庆与潘金莲第一次见面:这妇人正手里拿叉竿不牢 , 失手滑将倒去 , 不端不正 , 却好打在那人头巾上 。 那人立住了脚 , 正待要发作 , 回过脸来看时 , 是个生的妖娆的妇人 , 先自酥了半边 , 那怒气直钻过爪洼国去了 。这里所说的爪洼国 , 即今印度尼西亚的爪哇岛 。 元代成书的《岛夷志略》指出“爪哇即古阇婆国” , 则宋代将其称为阇婆国 , 《宋史·外国传》说“阇婆国在南海中” 。 明代《金瓶梅》也曾以爪哇国形容其远 , 第五十四回说“西门庆一个惊魂落向爪哇国去了” 。 既然阇婆改称爪哇是入元以后的事 , 而元明两代人常用爪哇做比喻 , 据此也可以推断:《水浒传》主干部分的定型年代最早也应在入元以后 。小说四十一回说铁笛仙马麟“祖贯是南京建康人氏” , 也颇值得追问 。 北宋的南京是应天府 , 在今河南商丘;南宋的建康则是今江苏南京 。 小说所谓南京建康 , 显然不是北宋的应天府 , 而指后者 。 明代朱元璋即定都于此 , 始称南京 , 洪武十一年(1378)起径称京师 , 直到永乐元年(1403)明成祖夺取了建文帝的皇位 , 才再叫南京 。 而小说称“南京建康” , 显然把明初的叫法与南宋的叫法杂糅在一起 。 类似的例证还有第五十一回 , 说雷横“蒙本县差遣 , 往东昌府公干” 。 东昌府是明代地名 , 治所在今山东聊城 , 北宋与金朝时都是博州 , 元世祖至元十三年(1276)才改置为东昌路 , 明太祖时改为东昌府 。 《水浒传》里宋人说出明初的地名 , 也从一个侧面透露了小说主干部分的最后定型 , 应该不晚于明朝初年 。四 历史地名与征辽征田虎《水浒传》对宋辽边境地名知识的匮乏紊乱 , 尤其令人注目 。 第四十四回说杨雄“因跟一个叔伯哥哥来蓟州做知府 , 一向流落在此 。 续后一个新任知府却认得他 , 因此就参他做两院押狱 , 兼充市曹行刑刽子”;还说公孙胜是蓟州人 , 回蓟州探母参师 , 故而宋江派神行太保戴宗去蓟州找寻公孙胜 , 其时都应在宣和二年(1120)之前 。 蓟州即今天津市蓟州区 , 属五代后晋割让给契丹的燕云十六州之一 , 北宋时期也一直为辽朝所占有 , 直到宋金联手灭辽 , 宣和四年(1122)才一度归入宋朝的版图 , 但三年以后再次被金朝占领 。 因此 , 不仅戴宗不可能那么轻易地出入蓟州 , 杨雄更不可能在蓟州做宋朝衙吏 , 可见小说作者对这段历史并不熟悉 。但第八十四回“宋公明兵打蓟州城”却明确交代“前面便是蓟州相近 。 此处是个大郡 , 钱粮极广 , 米麦丰盈 , 乃是辽国库藏” , 则又正确指明了蓟州的归属 。 小说写征辽 , 八十三回说“宋江升帐 , 传令起军 , 调兵遣将 , 都离密云县 , 直抵檀州城来” , 实际上 , 密云县就是檀州的州治所在 , 说离了密云县 , 直抵檀州 , 显而易见是地理错误 。 第八十五回里吴用说“若更得了他霸州 , 不愁他辽国不破” , 而且交待霸州是“辽国国舅康里定安守把” , 显然把霸州划为辽朝属地 。 但据《宋史·地理志》 , 霸州属河北东路 , 始终归北宋所有 。 类似例子还有雄州 , 历史上也属北宋河北东路管辖 , 小说八十六回却说“(李金吾)乃李陵之后 , 荫袭金吾之爵 , 见在雄州屯扎 , 部下有一万来军马 , 侵犯大宋边界 , 正是此辈” , 将其划为辽朝的州郡 。 这也说明 , 一百二十回本的征辽部分并不是《水浒传》的原创结构 , 而是后来追加的蛇足 , 因而在细节上就与原来的说法发生了抵牾 。一百二十回本《水浒传》还有征田虎的内容 , 第九十一回交代田虎占领五州时说:“三是昭德 , 即今时潞安 。 ”昭德 , 即北宋的隆德府 , 治所在今山西长治 , 是昭德军所在地 , 金、元、明三代都称潞州 , 直到明代嘉靖八年(1529)才升为潞安府 。 小说中对昭德的说明 , 明显是嘉靖以后明人所加 , 这是《水浒传》中可考年代最晚的历史地名 , 也可以成为推测征田虎最终被纳入小说的年代坐标 。总之 , 倘若仔细推敲 , 从史地错误里 , 也许可以发现更多与《水浒传》成书相关的蛛丝马迹 。《水浒传》的史地错误


推荐阅读