购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

《水浒传》的史地错误

与《三国演义》不同,《水浒传》虽有历史的影子,却不是历史小说。历史上,宋江起义确有其事,但史料有限,语焉不详,这就给小说创作预留了巨大的空间。《水浒传》涉及的史实与地理,有的与宋代实际两相契合,有的则颇有出入。前者印证了小说有历史的影子,后者说明了不是历史小说。


史实错讹与吹毛求疵

在史实上,《水浒传》开卷就错:“话说大宋仁宗天子在位,嘉祐三年三月三日五更三点,天子驾坐紫宸殿,受百官朝贺……有一大臣,越班启奏。天子看时,乃是参知政事范仲淹。”嘉祐三年是1058年,而范仲淹早在皇祐四年(1052)就已经去世,死了六年,居然还能“越班启奏”,岂非咄咄怪事!

小说第二回叙述高俅发迹时说:

小苏学士出来见了高俅,看罢来书,知道高俅原是帮闲浮浪的人,心下想道:“我这里如何安着得他!不如做个人情荐他去驸马王晋卿府里,做个亲随。人都唤他做小王都太尉,便喜欢这样的人。”……这太尉乃是哲宗皇帝妹夫,神宗皇帝的驸马。

王晋卿,名诜,是北宋著名画家,有《渔村小雪图》《烟江叠嶂图》传世。他是宋初大将王全斌的后裔。《宋史·王全斌传》附其曾孙《王凯传》说:“子缄,缄子诜,字晋卿,能诗善画,尚蜀国长公主。”而据《宋史·公主传》,这位蜀国长公主应是英宗第二女,神宗皇帝一母同胞的亲妹妹,哲宗皇帝的亲姑姑。不过,王晋卿这位神宗皇帝的妹夫,英宗皇帝的驸马,小说却让他莫名其妙地低了一辈。

小说在“宋公明全伙受招安”一回录有招安诏书,落款是“宣和四年春二月”。这在历史年代上大有问题。其一,与历史上宋江投降的年代相差一年,这有《宋史·徽宗纪》宣和三年(1121)二月纪事为证:“淮南盗宋江等犯淮阳军,遣将讨捕。又犯京东、江北,入楚、海州界,命知州张叔夜招降之。”其二,倘据小说的安排,宋江受招安在宣和四年二月,轰轰烈烈征方腊还在其后,而据《宋史·徽宗纪》,宣和三年八月“方腊伏诛”,倘若宋江在宣和四年才受招安,哪里还有南征方腊的用武之地呢?

在这些史实讹误中,一代名臣范仲淹的卒年,驸马都尉王诜的辈分,都是不难查证的;而方腊被处死的历史年份也确切无疑,更何况是宋江征方腊能否成立的关键所在,小说对此都疏于考证。这也充分说明《水浒传》出自文化程度并不高的说书艺人之手,自然不能要求他们对重要史实进行缜密考证。读《水浒传》,每事都考证出个子丑寅卯,当然没有必要。但梳理其讹误,有助于人们从另一角度把握小说,也不见得就是吹毛求疵。


地理讹误与说书艺人

至于地理错误,“智取生辰纲”最为集中。第十六回叙述杨志把生辰纲从北京大名府(今河北大名)护送去东京开封府,“五七日后,人家渐少,行客又稀,一站站都是山路”。对晁盖、吴用他们打劫的黄泥冈,小说点明“休道西川蜀道险,须知此是太行山”;而第十七回却说,与杨志一起押运生辰纲的老都管“自和一行人来济州府该管官吏首告”,则黄泥冈应在济州管辖范围。当时黄河改道北流,从大名府到开封府,取道几乎沿着黄河径直朝南,一路上都是黄泛平原,并无什么山路。此是一。由于从大名到东京几乎是径直南行,根本不必绕道东南的济州(治所在今山东巨野),而既然黄泥冈在济州境内,与太行山就更是了无关系。此其二。另外,当杨志在黄泥冈盘问时,晁盖等所扮的七个卖枣客人回答:“我等弟兄七人是濠州人,贩枣子上东京去,路途打从这里经过。”这里又有大破绽。濠州在今安徽凤阳一带,位于东京开封的东南方向,而黄泥冈应在大名府与开封府之间,必在开封的东北,从濠州贩枣子到东京,无论如何也不可能绕道到东京东北再朝南走的,杨志居然没能发现其中的马脚。可见搬演这段故事的南宋说书人,对大名、开封、济州、濠州的地理方位不甚了然。

《水浒传》“智取生辰纲”中对黄泥冈的方位交待,大有破绽可捉

对相关地名之间的地理方位,小说经常出错。试举数例。其一,第三回叙述史进从少华山(即华山)去延安府找师父王进,行走半月来到渭州。渭州在今甘肃平凉,从华山到延安应取道直北,无论如何不可能经过渭州。其二,第五回描写鲁智深从五台山去东京途中,路经桃花村,庄主刘太公说:“此间有座山,唤做桃花山,近来山上有两个大王,扎了寨栅,聚集着五七百人,打家劫舍。此间青州官军捕盗,禁他不得。”青州治所在今山东青州市,而从山西五台山到东京开封府,无论如何也不会经过山东青州的。其三,第二十三回说武松从沧州去清河县看望武大郎,在阳谷县的景阳冈打死了猛虎。在北宋,清河是恩州的治所,与沧州同属河北东路;阳谷是郓州的属县,属京东西路,位于清河之南。故而武松南下探兄必先经过清河,完全没有必要再南行近二百里地,到阳谷景阳冈去打虎逞能。其四,第三十九回“浔阳楼宋江吟反诗”提到“这江州对岸,另有个城子,唤做无为军,却是个野去处”,无为军的通判黄文炳经常“自家一只快船渡过江来”。宋代无为军即今安徽无为,江州则是今天的九江,从无为溯江而上,沿途要经过今安徽的铜陵、贵池、安庆与江西的彭泽、湖口才能达到九江,两地舟行相距数百里,根本不是隔岸相望一苇可航的。

所有这些,无不说明参与《水浒传》原创的说书艺人对历史地理掌握得既不全面,更不深入。与小说中那些史实错讹一样,这些地理讹误也表明小说原创者的历史知识有限,文化程度不高。他们只是说书艺人,而不是考据学者。同时,人们也有理由怀疑罗贯中不是《水浒传》的最后改订者,因为这些常识错误与《三国演义》作者所表现出来的历史知识相去实在太远。

明代类书《三才图会》之《爪哇国》。《水浒传》中“爪哇国”是明代始见的外国国名


从地名错乱看成书过程

泰安州也是《水浒传》的重要地名。第六十一回说卢俊义中吴用之计,“想东南方有个去处,是泰安州”,可以避难消灾;第七十四回“燕青智扑擎天柱”,也以泰安州作场景。但泰安州始设于金朝大定二十二年(1182),由原来的泰安军升为州。这一讹误似乎说明,《水浒传》故事雏形不应该出现在泰安升州以前,即不太可能早于十二世纪末叶至十三世纪初叶。

《水浒传》第二十四回描写西门庆与潘金莲第一次见面:

这妇人正手里拿叉竿不牢,失手滑将倒去,不端不正,却好打在那人头巾上。那人立住了脚,正待要发作,回过脸来看时,是个生的妖娆的妇人,先自酥了半边,那怒气直钻过爪洼国去了。

这里所说的爪洼国,即今印度尼西亚的爪哇岛。元代成书的《岛夷志略》指出“爪哇即古阇婆国”,则宋代将其称为阇婆国,《宋史·外国传》说“阇婆国在南海中”。明代《金瓶梅》也曾以爪哇国形容其远,第五十四回说“西门庆一个惊魂落向爪哇国去了”。既然阇婆改称爪哇是入元以后的事,而元明两代人常用爪哇做比喻,据此也可以推断:《水浒传》主干部分的定型年代最早也应在入元以后。

小说四十一回说铁笛仙马麟“祖贯是南京建康人氏”,也颇值得追问。北宋的南京是应天府,在今河南商丘;南宋的建康则是今江苏南京。小说所谓南京建康,显然不是北宋的应天府,而指后者。明代朱元璋即定都于此,始称南京,洪武十一年(1378)起径称京师,直到永乐元年(1403)明成祖夺取了建文帝的皇位,才再叫南京。而小说称“南京建康”,显然把明初的叫法与南宋的叫法杂糅在一起。类似的例证还有第五十一回,说雷横“蒙本县差遣,往东昌府公干”。东昌府是明代地名,治所在今山东聊城,北宋与金朝时都是博州,元世祖至元十三年(1276)才改置为东昌路,明太祖时改为东昌府。《水浒传》里宋人说出明初的地名,也从一个侧面透露了小说主干部分的最后定型,应该不晚于明朝初年。


历史地名与征辽征田虎

《水浒传》对宋辽边境地名知识的匮乏紊乱,尤其令人注目。第四十四回说杨雄“因跟一个叔伯哥哥来蓟州做知府,一向流落在此。续后一个新任知府却认得他,因此就参他做两院押狱,兼充市曹行刑刽子”;还说公孙胜是蓟州人,回蓟州探母参师,故而宋江派神行太保戴宗去蓟州找寻公孙胜,其时都应在宣和二年(1120)之前。蓟州即今天津市蓟州区,属五代后晋割让给契丹的燕云十六州之一,北宋时期也一直为辽朝所占有,直到宋金联手灭辽,宣和四年(1122)才一度归入宋朝的版图,但三年以后再次被金朝占领。因此,不仅戴宗不可能那么轻易地出入蓟州,杨雄更不可能在蓟州做宋朝衙吏,可见小说作者对这段历史并不熟悉。

但第八十四回“宋公明兵打蓟州城”却明确交代“前面便是蓟州相近。此处是个大郡,钱粮极广,米麦丰盈,乃是辽国库藏”,则又正确指明了蓟州的归属。小说写征辽,八十三回说“宋江升帐,传令起军,调兵遣将,都离密云县,直抵檀州城来”,实际上,密云县就是檀州的州治所在,说离了密云县,直抵檀州,显而易见是地理错误。第八十五回里吴用说“若更得了他霸州,不愁他辽国不破”,而且交待霸州是“辽国国舅康里定安守把”,显然把霸州划为辽朝属地。但据《宋史·地理志》,霸州属河北东路,始终归北宋所有。类似例子还有雄州,历史上也属北宋河北东路管辖,小说八十六回却说“(李金吾)乃李陵之后,荫袭金吾之爵,见在雄州屯扎,部下有一万来军马,侵犯大宋边界,正是此辈”,将其划为辽朝的州郡。这也说明,一百二十回本的征辽部分并不是《水浒传》的原创结构,而是后来追加的蛇足,因而在细节上就与原来的说法发生了抵牾。

一百二十回本《水浒传》还有征田虎的内容,第九十一回交代田虎占领五州时说:“三是昭德,即今时潞安。”昭德,即北宋的隆德府,治所在今山西长治,是昭德军所在地,金、元、明三代都称潞州,直到明代嘉靖八年(1529)才升为潞安府。小说中对昭德的说明,明显是嘉靖以后明人所加,这是《水浒传》中可考年代最晚的历史地名,也可以成为推测征田虎最终被纳入小说的年代坐标。

总之,倘若仔细推敲,从史地错误里,也许可以发现更多与《水浒传》成书相关的蛛丝马迹。 z35Y7jS+/CVRTJorGTHBA2pY42cI4nYOi6Rf2IU5KICXfWQHJglfUrMSRpyIk4Yb

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开