周敏法
“华亭”是上海最重要的古称之一。唐天宝十年(751年)设置华亭县,县城位于现松江老城,其范围相当于后来的松江府。元代设置的上海县,就是从华亭县划分出来的,所以华亭是上海的母体。华亭县前后延续1160年,直到中华民国成立(1911年),才改名松江县。它是上海地区第一个有详细史料记载并相对独立的县建置,其意义非同一般。但“华亭”之名始于何时?当初为何将县取名华亭?设县前的华亭是怎样的?存不存在华亭港口?华亭县到底从哪里划出来的?诸如此类的问题如今还不甚清楚,很有探讨的必要。弄清这些问题,对研究松江以及上海地区的早期历史非常重要。
南宋绍熙四年(1193年)刊印的《云间志》,是当时华亭县令杨潜主持纂修,实际就是《华亭县志》,也是当今上海地区存世最早的县志。杨潜修志态度认真,其《序》曰:“邑之博雅君子,相与讲贯,畴诸井里,考诸传记,质诸故老。有据则书,有疑则阙,有讹则辩”。①上海市松江县地方史志编纂委员会:《云间志》校点本,内部资料,1988年版,前面《序》无页码。志中以“华亭”命名的行政区域和自然地名甚多,但对其来历,杨潜也不甚清楚。贵在他能实事求是,将史料和盘托出,以供后人参考。
《云间志·封域》云:“华亭在禹贡为扬州之域。在周为吴地,吴灭入越,越灭入楚。秦并天下,分三十六郡,始属会稽郡。汉世因之。顺帝永建四年,分浙江以东为会稽郡,西为吴郡。华亭虽吴郡地,犹未见之史传。孙氏霸吴,尽有其地。建安二十四年封陆逊为华亭侯,始见之《吴志》矣。”②上海市松江县地方史志编纂委员会:《云间志》校点本,内部资料,1988年版,第1页。《云间志》认为,“华亭”名称最早见于《三国志·吴志·陆逊传》陆逊封为“华亭侯”的记载。姑且将其称为“陆逊封侯说”,距今1800年。《上海通志·大事记》显然是赞同这个观点的:“东汉建安二十四年(219年)孙权封陆逊为华亭侯。始见‘华亭’之名。”①上海通志编纂委员会:《上海通志》,上海人民出版社、上海社科院出版社2005年版,第31页。史实果真如此吗?
现在研究上海史的人,很少提到海盐县,可能以为海盐县是浙江省的,与上海无关。殊不知,上海的母体唐代华亭县还是从秦代海盐县划分出来的。如果说华亭是上海的“母亲”,那么海盐就是上海的“外婆”。所以研究华亭,绕不过海盐。《上海通志·大事记》载:“秦始皇帝二十六年(前221年)在今金山区东南甸山一带设有海盐县城,为上海地区首个县治。西汉后期陷为湖泊,徒治武原乡(今浙江省平湖县东)。”②上海通志编纂委员会:《上海通志》,上海人民出版社、上海社科院出版社2005年版,第31页。这里提到了秦海盐县城是“上海地区首个县治”,但它与华亭有什么关系呢?
明·胡震亨《海盐县图经》载:“秦并天下,始置县,曰海盐。《寰宇记》云‘广斥盐田相望,’盖取此意。县始置在今华亭县橐林,于古为华亭乡地矣。”③(明)胡震亨:天启《海盐县图经》卷一,第13—14页说秦海盐县的县城就在古代的“华亭乡地”。胡震亨一生嗜书如命,日夕不倦研读,凡秘册僻本、旧典佚事、错差模糊不可卒读者,亦均研读补正,时人称之为博物君子。近人张元济称其为吾邑第一读书种子。他不仅博览群书、精于补正,且是海盐武原镇当地人,所以其海盐县城在“华亭乡”之说,应该可信。可惜他没有说明史料来源。
光绪《海盐县志·附沿革考》也有此说:“秦海盐县,属会稽郡。县治置在华亭乡(今松江府属——原注)。后陷为拓湖,移治武原乡(今平湖东关)。《胡震亨图经》:‘初治城在华亭乡者,山名橐山,林名橐林,陷为湖,名橐湖(按:橐一作拓)’。”④(清)王彬修、徐用仪纂:光绪三年蔚文书院刻本,《海盐县志》附沿革考,卷一,第3页
以上明清海盐方志并非空穴来风。宋·鲁应龙《间窗括异志》即有海盐县“治城在华亭乡者,山名柘山,林名柘林,陷于湖,名柘湖”⑤(宋)鲁应龙:《间窗括异志》之说,这是有关秦海盐县县城就在“华亭乡”的最早记载。此“海盐县治说”显然比“陆逊封侯说”早了约400年。即2200年前的秦代已有“华亭”名称。
还有一种说法更早。明正德《松江府志》曰:“松江古扬州之域。春秋为吴地,吴子寿梦,始筑华亭,盖停留宿会之所也。……汉末,孙氏霸吴,以其地封陆逊为华亭侯,始见之《吴志》,实建安二十四年也。”⑥上海市地方志办公室、上海市松江区地方志办公室编:《上海府县丛书·松江府卷一》,上海古籍出版社2011年版,第15页寿梦公元前585年就位吴王,距今2600年。这个“寿梦筑亭说”比“陆逊封侯说”又早了800年。但此志有矛盾:前面说“吴子寿梦,始筑华亭”;后面又说“封陆逊为华亭侯,始见之吴志”,出现两个“始”。关于这一说法的真实性,目前学界尚有争议,谭其骧先生也不赞同,暂且搁置,留待考证。
综上所述,《云间志》的所谓三国时“陆逊封侯,始见华亭”之说存在争议,因为四百年前,秦代设置海盐县时,就已经出现“华亭”的名称。
《云间志·封域》又云:“按《陆逊传》,逊初封华亭侯,进封娄侯,次江陵侯。汉法:十里一亭,十亭一乡,万户以上或不满万户为县。凡封侯,视功大小,初亭侯,次乡、县、郡侯。以逊所封侯次第考之,则华亭汉故亭留宿会之所也。(汉亭二万九千六百六十五,吴所封侯,如:西亭、烈亭、东迁亭、新城亭之类)。”⑦上海市松江县地方史志编纂委员会:《云间志》校点本,内部资料1988年版,第2页。
先看陆逊为何封侯?据《三国志·陆逊传》:“东汉末,建安二十四年,吴陆逊以从吕蒙,克蜀公安、南郡功,迳进,领宜都太守,封华亭侯。未几,又连破蜀兵,斩获万计,进封娄侯。”①《三国志》卷五十八,《陆逊传》宜都介于吴、蜀两国之间,是双方争夺的要冲。宜都太守原为蜀国张飞。建安二十四年(219年),东吴孙权袭取荆州,部将陆逊迅速占领宜都郡。陆逊因功被孙权任命为东吴的首任“宜都太守”(相当于省长),同时将其封为“华亭侯”。
再看“华亭侯”是什么等级?《陆逊传》只说其“封华亭侯”,并没说是什么等级。但《云间志》认为,是“乡”下面的“亭侯”,理由是“汉法:十里一亭,十亭一乡”。但它可能疏忽了《陆逊传》后面还有“进封娄(县)侯,次江陵(郡)侯”的记载。按照“凡封侯,视功大小,初亭侯,次乡、县、郡侯”的规定,如果“逊初封”的等级是“亭侯”,则陆逊跳过了“乡侯”,而直接“进封娄(县)侯”了,显然不合情理。
笔者认为:因为秦代“华亭”是个“乡”,所以陆逊封的是华亭“乡侯”,而不是“亭侯”,然后进封娄“县侯”,次江陵“郡侯”,这样逐级加封,方顺理成章。再说陆逊军功显赫,当了太守,却封个十亭方为一乡的“亭侯”,太不般配了。杨潜可能因不知秦代已有“华亭乡”,又因为华亭后面有个“亭”字,就推测陆逊初封的华亭侯是“亭侯”,情有可原。
诺大天下,为何将陆逊初封在华亭?据《云间志·人物》记载,陆逊的先祖陆康、陆绩等一直居住在华亭。《云间志·古迹》曰:“旧图经云:吴王猎场在华亭谷东,吴陆逊生此。子孙尝所游猎,后人呼为陆茸。”②上海市松江县地方史志编纂委员会:《云间志》校点本,内部资料,1988年版,第19、20页。原来,华亭既是陆逊的祖籍地,又是他的出生地,所以孙权将华亭封给陆逊。后代在此繁衍生息,陆氏遂成上海地区早期最著望族。《云间志·人物》共列十四人,除了顾野王,其余十三人全为陆氏族人,包括西晋书《平复帖》的陆机和陆云(后有述)两兄弟。
后来,为什么又封陆逊为娄县侯?清乾隆《重修海盐县图经》在叙述秦汉时期海盐县的四至范围时说:“以《汉志》旁县互考之:南钱塘,北娄,西由拳”。③清乾隆十三年《重修海盐县图经》“北娄”,即海盐县的北面是娄县。《云间志·封域》有:“昆山,即汉娄县,梁大同初,易今名。”④上海市松江县地方史志编纂委员会:《云间志》校点本,内部资料,1988年版,第1页。原来,娄县就是后来的昆山县,与华亭相邻。陆逊“进封娄侯”,就是在原来华亭封地的基础上,继续向北延伸,使之连成一片,进一步扩大了陆氏家族的封地范围。
综上所述,《云间志》所云陆逊封的是华亭“亭侯”的观点可能有误,他封的可能是华亭“乡侯”。
《云间志·封域》曰:“今县有华亭镇印,或者遂谓自镇为县。不知所谓镇者,唐因隋制,置镇将副,以掌捍防守禦之事。……吴郡属县昆山、常熟、华亭、海盐、吴江,皆有镇将……《祥符图经》载镇在西南二百步”。⑤上海市松江县地方史志编纂委员会:《云间志》校点本,内部资料,1988年版,第2页。既然南宋尚见“华亭镇”官印,旧志又载有“镇”址,说明隋唐时松江古城确是“华亭镇”。《上海通志·大事记》亦有:“隋开皇年间(581—600年)华亭设镇将以御防守。”⑥上海通志编纂委员会:《上海通志》,上海人民出版社、上海社科院出版社2005年版,第32页。故杨潜推测华亭“自镇为县”是对的。但其略疑:“如(华亭)自镇而为县,则《新史》《舆地志》诸书,不应略而不言也。”⑦上海市松江县地方史志编纂委员会:《云间志》校点本,内部资料,1988年版,第2页。反映编纂者实事求是:即便怀疑,也照录在后,以供后人参考。
据史料记载,中国隋唐时期的“镇”和宋代的“镇”,其性质是完全不同的:隋唐时是军事防守驻扎之地,由武将守卫;宋代后则成为集镇管理机构,改为文职担任。《云间志·镇戍》曰:“华亭襟江带海,上而吴、晋,近而吴越,尝筑城垒置防戍,所以控守海道者。”①上海市松江县地方史志编纂委员会:《云间志》校点本,内部资料,1988年版,第3页。说明华亭县及其县城的位置很重要,故在隋唐时设置军事机构华亭镇,并留下“华亭镇印”。
但《上海军事志·大事记》:“唐天宝十年(751年)建华亭县,设华亭镇。有将、有副,其职捍防守御之事。”②《上海军事志》编纂委员会编:《上海军事志》大事记,上海社会科学院出版社1994年版,第10页。说华亭镇和华亭县是同时设立的,不知依据何在。
但《云间志·镇戍》下面只列了一个青龙镇,令人费解。谭其骧则以此为据,说《云间志》里没有上海镇,并以此作为上海建镇年代的“上限”。谭文《上海得名与建镇的年代问题》:“成书于绍兴之后绍熙年间的《云间(即华亭)志》,卷上专立镇戍一目,所载还是只有青龙一镇,可见其时上海仍未设镇。”③谭其骧:《长水集》(下册),人民出版社2011年9月,第198页。“就目前所掌握的史料而言,只能笼统地说上海建镇于宋末。上限是《云间志》书成之年即绍熙四年(1193年)”。④谭其骧:《长水集》(下册),人民出版社2011年9月,第199页。
其实早在北宋时,上海和乌泥泾等都已设置为“镇”。最近查实,上海镇设立于北宋熙宁七年(即1074年。详见周敏法《上海建镇年代考证辨》)。⑤周敏法:《上海建镇年代考证辨》,《上海地方志》2018年第一期。另《乌泥泾与黄道婆——纪念上海建城七百年》载:“据《上海县竹枝词》作者、清末上海县贡生秦荣光说:‘宣和初,复设乌泥泾监官’。所谓监官,即监镇官,据北宋的规定,在各镇设置监官,建隆三年(962年)的诏书宣布:‘诸镇监官,掌警逻及烟火之禁,兼征税榷酪’。北宋宣和初年(1119年)已在乌泥泾设置监官,可以推论,乌泥泾镇的建置当不迟于这一年。”⑥樊树志:《乌泥泾与黄道婆——纪念上海建城七百年》,《复旦学报》(社会科学版),1991年5期
可见《云间志·镇戍》不仅没有记载华亭镇,也没有记载上海镇和乌泥泾镇。不写华亭镇的原因,笔者推测:一是杨潜等对此还有怀疑;二是认为它不像青龙镇南宋时还是个“镇”,华亭几百年前已经“自镇为县”,故不必写入。不写上海和乌泥泾等镇的原因,或许杨潜认为,这两个镇不是隋唐时期的军事机构,而是宋代的集镇管理机构,不合适列入“镇戍”。
综上所述,松江古城在隋唐时,确实属于军事重地华亭镇,并且留下了华亭镇印。唐天宝十年时,也确实如《云间志》所述,华亭由镇升格为县。
《云间志·城社》曰:“县之有城,盖不多见。华亭邑于海壖,或者因戍守备御而有之。绍兴乙亥岁,酒务凿土,得唐燕胄妻朱氏墓碑,以唐咸通八年(867年)窆于华亭县城西一里,乡名修竹。是唐之置县,固有城矣。废兴之由,莫得而详,疆域尚仿佛可识云。县城周回一百六十丈,高一丈二尺,厚九尺五寸。”⑦上海市松江县地方史志编纂委员会:《云间志》校点本,内部资料,1988年版,第3页。现分析如下。
其先说“县之有城,盖不多见。”然后推测“华亭邑于海壖,或者因戍守备御而有之。”城,古代一般指军事防卫的城池。联系前面的“华亭镇印”,不难理解为什么此地有城墙,因为它是军事重镇,故有修筑城墙的必要。“是唐之置县,固有城矣。”说唐设置华亭县时,松江已有城墙。“县城周回一百六十丈,高一丈二尺,厚九尺五寸。”根据其对城墙尺寸的详细描述,推测南宋时此城墙还存在。可惜松江古城内的这个隋唐古城墙,迄今未发现,希望有朝一日能重见天日。
综上所述,由于华亭是隋唐时的军事重地,联系“华亭镇印”,在华亭修筑城墙并不奇怪。再一次看到杨潜的实事求是:“废兴之由,莫得而详”。就是修筑和废弃城墙的原因,他不清楚。
据《云间志》记载,在南宋末年,华亭县城里面已经有县丞、监盐、监酒、监税、市舶务、造船场等九个廨舍官方办事机构,还有石狮巷、石条巷等27条街巷。说明宋代的松江古城已经具有相当规模,甚至超过我国改革开放前的不少县城。《云间志·场务》载华亭县城有市舶务、税务、酒务等税收管理机构。《上海通志·大事记》:“熙宁十年(1077年)秀州(治在嘉兴)设17处酒务,其中华亭县有华亭、上海、青龙、赵屯、大盈、泖口等务”①上海通志编纂委员会:《上海通志》,上海人民出版社、上海社科院出版社2005年版,第33页。说明北宋上海地区盛产酒,而且生意兴旺,故在华亭、上海等六个集镇专门设置了“酒务”,对酒的生产和贸易进行管理和收税。
下面重点探讨华亭“市舶务”。市舶务和市舶司是中国古代在各海港设立的、管理海上对外贸易的机关,相当于现在的海关。《宋史》载:“提举市舶司:掌蕃货海舶征榷贸易之事,以来远人,通远物。”②《宋史》卷一百六十七,第一百二十·职官七。现在大家都说,青龙镇是唐宋时期上海对外贸易的第一大港。但笔者以为,这个桂冠也许给名不见经传的“华亭港口”更合适。
先来看设置华亭“市舶务”的历史背景。据《上海对外经济贸易志》载:“754年(天宝十三年)是年,上海地区人口大增,贸易发展,《唐语林》称‘凡东南郡邑,无不通水,故天下货利,舟楫居多’。其时还以海运承担南北货运。唐诗人杜甫有诗云:‘云帆转辽海,粳米来东吴’,‘吴门持粟帛,泛海入蓬莱’。上海地区所产粮食布帛从华亭经苏州或海路贩往北方。”③《上海对外经济贸易志》编委会编:《上海对外经济贸易志》第二十卷,上海社会科学院出版社2001年版,第2533页说明华亭在唐代时海上贸易已经很兴旺。松江古城至今还有今上海地区最古的唐石经幢。该志载:“1113年(政和三年)是年,在华亭县设市舶务,专派监官司征税事宜。同年,上海地区对外贸易日趋兴盛,宋人许尚有诗:‘蛮商识吴路,岁入几千艘’。”④《上海对外经济贸易志》编委会编:《上海对外经济贸易志》第二十卷,上海社会科学院出版社2001年版,第2534页说自华亭港口设立“市舶务”,每年有几千艘南方来的商船做贸易。
该志亦载:“1132年(绍兴二年)是年,两浙提举市舶司从杭州移至华亭县治,统辖临安(今杭州)、明州、温州、秀州及江阴5处市舶务。”⑤《上海对外经济贸易志》编委会编:《上海对外经济贸易志》第二十卷,上海社会科学院出版社2001年版,第2535页杭州是南宋的都城。钱塘江古称“浙江”,钱塘江以南称浙东、以北称浙西,合称“两浙”。北宋至道三年(997年),置“两浙路”,辖今江苏省长江以南及浙江省全境。就是说,把都城管理外贸的机关,迁到华亭县城,“统辖临安(今杭州)、明州(今宁波)、温州、秀州(包括上海地区的华亭港、青龙镇港和上海港)及江阴5处市舶务。”现在看来不可思议,但却是历史事实。所以说,位于松江古城的华亭港口曾经是“今江苏省长江以南及浙江省全境”的海上交通枢纽及对外贸易最高管理机构,它的地位要远远高于青龙镇港口。
《上海港志·总述》:“然就商港而言,形成于隋唐两朝在此设镇立县之时。初始,黄浦江尚未形成,港口位于吴淞江支流顾会浦通达的华亭镇及吴淞江入海口的青龙镇。在宋代,华亭镇港和青龙镇港都曾经是对外贸易口岸。”⑥上海港志编纂委员会:《上海港志》总述。上海社会科学院出版社2001年版,第1页。由此看出,华亭镇港和青龙镇港都是古代海上丝绸之路的重要港口。
根据“华亭镇”和华亭城,可以断定隋唐前期此地属于军事重镇,而且设镇在唐天宝五年设青龙镇之前。根据“华亭务”和“两浙市舶提举司”,又可以断定,北宋时此地属于对外贸易重镇,而且比青龙镇地位要高。华亭镇为什么能成为“双重重镇”?古代官方机构都是因事而设。如果华亭县城不是处在水上交通枢纽,没有海外贸易来往,它凭什么管辖江浙其它几大港口?也不可能在此设置“两浙市舶提举司”。如果华亭县城不是处在“控守海道”处,就不会设置作为军事机构的“华亭镇”,也不会“尝筑城垒置防戍”,留下作为军事设施的古城墙。
下面探讨华亭港口形成的地理条件。唐宋时期江南最富裕的两个城市,南为杭州,北为苏州。华亭位于两城之间。据《云间志·水》记载:华亭县城“南通漕渠,北达松江,今曰通波塘。”“直县西北,走七十里,趋青龙镇,浦曰顾汇。”①上海市松江县地方史志编纂委员会:《云间志》校点本,内部资料,1988年版,第40页。即“华亭港口”向北通过顾会浦和通波塘可达松江,连接青龙镇和苏州;向东通过青龙镇和吴淞江下游可出海;那么向南呢?仅仅依靠“漕渠”,或者华亭向南是“断头河”,是无法构成其海上交通枢纽之地位的。但华亭古城向南通过什么河流到达杭州湾,史料没有详细记载。笔者推测,华亭县城是早已湮没的“东江”古道(如可达杭州湾的小来浦等)的流经地,可方便的来往于杭州湾和沪渎湾,从而连接杭州和苏州。
岁月如流,随着太湖流域古河道的重大变化,上海地区主要港口也随之变迁:随着东江古道的湮灭,华亭港口很快失去海上交通枢纽地位,34年后,“两浙市舶提举司”被撤销;随着吴淞江的淤塞,青龙镇也逐渐丧失贸易大港地位;取而代之的则是东面百里上海港的崛起。
由于华亭港口史料很少,加上对松江古城的研究不够,它的早期面纱至今还没有被揭开。但笔者相信,凡是存在的总是合理的,至少是适应当时情况的。因为华亭县城水上交通非常发达,既是军事重镇,又是贸易重镇。所以唐天宝十年设置华亭县时,没把县城放在青龙镇,而放在松江古城。它也是宋代把“两浙市舶提举司”放在松江古城、没放在青龙镇的原因。
《上海通志·总论》:“元至元十四年(1277年)华亭县升为华亭府,翌年改为松江府。至清代,松江府辖有华亭、娄、上海、青浦、金山、奉贤、南汇等7县和川沙厅。”②上海通志编纂委员会:《上海通志》,上海人民出版社、上海社科院出版社2005年版,第2页。即便元代将华亭县北部划出设立上海县,但它仍属松江府管辖。所以说,从唐天宝十年设立华亭县起,一千多年来松江始终是古代上海地区政治、经济、军事和文化的中心,县(府)城存在了一千多年。所以松江人很自豪,他们把松江称为“上海之根”。遗憾的是,找不到多少史料(或者说挖掘不够),来宣传华亭古城。青龙镇人幸运的是,有不少宋代文献对镇和港口有详细描述,加上近年的考古发现,宣传资本雄厚;遗憾的是,最后不仅没有成为县城,甚至连青龙镇这个地名都没留下(建议恢复)。但历史研究,不能仅凭史料多少论重要性,还要以客观史实为依据。
综上所述,“华亭务”、特别是“两浙市舶提举司”在松江古城的设立绝不是偶然的。它正是上海古代海上丝绸之路的出发港。它的神秘面纱有待人们去揭开。
唐置华亭县时,由哪些县的土地划分而成?这个问题,虽有定论,但笔者认为仍需商榷,因史料记载大相径庭。《云间志·封域》就列出了三种说法:“唐天宝十年,以华亭为县,属苏州治。按《新史》《寰宇记》以为,本嘉兴县地;《舆地广志》以为,本昆山县地;《元和郡县图志》云:吴郡太守赵居贞奏割昆山、嘉兴、海盐三县为之。今邑之四境,与三县接,《郡县图志》为不诬矣。”③上海市松江县地方史志编纂委员会:《云间志》校点本,内部资料,1988年版,第1页。就是说关于华亭县的母体,有:嘉兴县、昆山县以及“割昆山、嘉兴、海盐三县为之”三种说法。
前面两种说法,把海盐县排除在外,显然站不住脚:海盐县的县城就在华亭乡,设置华亭县时包括华亭乡,故不可能和海盐县无关。而后面一种说法,既有上奏的“当事人”,华亭又确实“与三县接,”令人不得不信。故《云间志》采纳了后面一种“三县为之”的说法。加上随后的元《至元嘉禾志》,此段全文照抄《云间志》。从此,明清以及当代上海方志也都以此为准。《上海通志·大事记》亦是如此:“天宝十载(751年)析嘉兴东境、海盐北境、昆山南境地置华亭县,属吴郡。县治今松江老城。”①上海通志编纂委员会:《上海通志》,上海人民出版社、上海社科院出版社2005年版,第32页。
查唐《元和郡县图志》“华亭县”全文如下:“华亭县,上。西至州二百七里。天宝十年,吴郡太守赵居贞奏割昆山、嘉兴、海盐三县置。华亭谷,在县西三十五里。陆逊、陆抗宅在其侧,逊封华亭侯。陆机云华亭鹤唳,此地是也。”②(唐)李吉甫撰《元和郡县图志》卷第二十五《元和郡县图志》为汉民族现存最早的古代总地志,李吉甫创作完成于唐宪宗元和八年(813年),故名。其确有华亭县“奏割昆山、嘉兴、海盐三县置”的记载。
但笔者依然有疑问:一是,前志既然有华亭县由“三县置”的定论,后志怎么会再出现华亭县由昆山县或者嘉兴县单独划出之说?无非后志编纂者没有看到前志;或者后者认为前志有误。二是至今未见“吴郡太守赵居贞奏”原文,不能令人信服。三是发现还有下面的第四种说法。
明天启《海盐县图经》先曰:“唐华亭,今松江全郡地也。”③(明)胡震亨:天启《海盐县图经》卷一,第3页此说没错:华亭县先改为华亭府,再改为松江府,故其范围不变。还曰:秦海盐县“县境辖今海宁、平湖及松江全郡地。”④(明)胡震亨:天启《海盐县图经》卷一,第3页今“松江全郡地”(即华亭县)都是属于秦海盐县的。换言之,整个华亭县是从海盐县划分出来的,与嘉兴县和昆山县没有关系。《海盐县图经》还举例说:“今华亭南门有甃井,石刻‘海盐县’,字至今未泐,松治城为盐地尤证也”。⑤(明)胡震亨:天启《海盐县图经》卷一,第3页说松江老城南门的古井上还刻着“海盐县”三字,证明松江老城也是从海盐县划出来的。显然,这种说法与前面三种说法相悖。
华亭县究竟从何划分而来?这是上海古代史的基本问题。搞不清楚,就会造成混乱。如2018年新版的《周浦历史文献丛刊·前言》:周浦镇“最初隶属于昆山县。唐天宝十载始,隶属于新建的华亭县。”⑥浦东新区周浦镇人民政府等编:《周浦地区清代科举人物朱卷选录》,内部发行,2018年3月版,前言无页码。照此推论,位于周浦镇西北的上海老城厢,最初应该也隶属昆山县。但按照《海盐县图经》观点,周浦和上海老城厢最初应该隶属于海盐县。故搞清这个问题很有必要,但也很难。谭其骧先生在重复了《云间志》所述华亭县来历的三种说法之后,也说:“天宝后华亭县境何处原属何县,其详已不可考。”⑦谭其骧:《长水集·续编》,人民出版社2011年9月版,第300页。《上海通志》亦载:“秦置海盐县,治今金山县张堰镇南。海盐县区域范围及县以下的区划难以考证。西汉后期海盐县徙治后的约600年间,上海地区分属于邻近各县,各县在上海地区的治理范围亦难以考证。”⑧上海通志编纂委员会:《上海通志》,上海人民出版社、上海社科院出版社2005年版,第413页。即由于秦汉时代的海盐县及其临县分界线和范围至今不明,所以很难确定华亭县是从何划分出来的。但笔者认为,其并非无迹可寻。
天启《海盐县图经》载:“秦并天下,始置县,曰海盐。……南钱塘,北娄,西由拳,东隔海岸”⑨(明)胡震亨:天启《海盐县图经》卷一,第13—14页。至少海盐县的四至是明确的。清乾隆《重修海盐县图经》载:“秦并天下,始置县,曰海盐。……县境兼今海宁、平湖及松江全郡地。图其如右,以《汉志》旁县互考之:南钱塘(今杭州),北娄,西由拳,东隔海岸余姚、上虞,中更无他县”。⑩(清)陈世倕:《重修海盐县图经》卷一,第2—3页。它不仅重申了海盐县包括“松江全郡地”,还“以《汉志》旁县互考之”,把秦汉时期海盐县的四至范围说的清清楚楚,再次证明“松江全郡地”都属于海盐县。
明《江南经略》“上海县境考:上海在府治东北,故称华亭海。秦时为海盐北境。梁武帝太清三年为前京县地。唐天寳中立华亭县,实为华亭境。”①(明)郑若曾:《江南经略》第2部分其首先说“上海县境”,在“秦时为海盐北境”,即与嘉兴、昆山都无关;其次说,“唐天寳中立华亭县,实为华亭境”,这个“实”字非常重要!言下之意,设置华亭县前,这个地方就是“华亭境”,与嘉兴、昆山没关系。
现《金山县志·建置》载:“旧志有两处记载有误。……二为秦至南北朝时的隶属问题。乾隆、光绪两志均称:‘秦并天下为娄县’,‘秦代为娄县,梁天监为信义县,大同后为昆山县……’经查秦行郡县制,置海盐县,其县治即在今金山县东南境,且南北朝时在金山地区先后置前京、胥浦两县,均析自海盐,而非娄县。而所谓梁时曾属信义、昆山,皆系从娄之误。”②上海市金山县县志编纂委员会:《金山县志》第一编建置,上海人民出版社1990年10月,第56页。即该志也认为,金山县与古娄县(昆山县)没有关系。
综上所述,《海盐县图经》《江南经略》和《重修海盐县图经》都肯定“华亭县是从海盐县划分出来”的,与嘉兴县、昆山县无关。这些史料非常重要,未见上海古今方志记载。但从《云间志》至今的上海方志一直认为,唐华亭县是由海盐、嘉兴、昆山三县划分而成。孰是孰非,有待进一步考证。
先看华亭县范围。《云间志·道里》讲到华亭县的四至范围:“东至海,八十里。西至平江府长洲县(今属苏州)界,八十里。南至海,九十里(以小官浦为界)。北至平江府昆山县界(吴淞江),八十里。”③上海市松江县地方史志编纂委员会:《云间志》校点本,内部资料,1988年版,第2页。即华亭县城基本处在县域中心位置,东西南北各有八九十里。《上海通志》也有:“两宋年间,据《元丰九域志》《云间绍熙志》,华亭县境大致范围明确:辖有青墩场、金山、柘湖场、戚漴场、青村场等盐场,华亭县南面和东南面以海为界,有风泾里(今金山枫泾镇一带)、朱泾里(即金山县朱泾镇一带)、濮阳里(今青浦县大蒸村、小蒸一带);华亭县西南界大致与今上海市西南界相等;西有薛淀湖(今淀山湖)、赵屯浦(今西大盈港);华亭县西界大致达今西大盈港、淀山湖一线;北面以吴淞江(今虬江—高桥港一线)与昆山县为界。”④上海通志编纂委员会:《上海通志》,上海人民出版社、上海社科院出版社2005年版,第413页。
再来看设置华亭县之前,“华亭”作为一个自然区域范围有多大?此问题史料上没有明确记载,但可从带有“华亭”的古地名中推知。仍以华亭县城为中心:南部的金山区有海盐县的县城(华亭乡);东南部有盛产华亭鹤的南汇下沙;东北部有华亭海(《同治上海县志》卷一疆域:华亭县“其东北有华亭海,即今(上海)县治也”⑤上海市地方志办公室、上海市闵行区地方志办公室编:《上海府县丛书·上海县卷三》,上海古籍出版社2015年版,第1400页);西部青浦区有华亭谷(《元和郡县图志》:“华亭谷,在县西三十五里”⑥(唐)李吉甫:《元和郡县图志》卷第二十五)。可见华亭的地域范围非常大。
通过以上分析可知,设置华亭县之前,“华亭”作为一个自然地理区域,已经方圆一百多里,基本覆盖了吴淞江以南整个华亭县范围。就是说,行政区域的华亭县和自然区域的华亭基本一致。再次印证,《江南经略》“唐天寳中立华亭县,实为华亭境”之说是正确的。
《上海地名志》有《〈云间志〉中的上海地名》:“《云间志》引《通典》及《太平寰宇记》的记载:华亭县地有华亭谷,因以为名。华亭谷,也称长谷,流经谷中之河流曰谷水。《元和郡县图志》:华亭谷在县西三十五里,陆抗宅在其侧,陆逊封华亭侯。所以谷、长谷、谷水和华亭谷是与古代地形有关的几个地名,又与陆逊所封的华亭侯有一定关系,也是华亭县得名的由来①上海地名志编纂委员会:《上海地名志》,上海人民出版社、上海社科院出版社1998年12月版,第581页。。”《云间志·封域》曰:“至于县之得名,《通典》《寰宇记》云:地有华亭谷,因以为名②上海市松江县地方史志编纂委员会:《云间志》校点本,内部资料,1988年版,第1页。。”这样解释很勉强:那“华亭谷”的名称又是怎么来的呢?从理论上说,它们可以互为因果:即华亭因华亭谷而得名;或华亭谷因华亭而得名。孰先孰后,目前很难考证。
但可以肯定,华亭地名很古老,南宋杨潜等已不知其来历。他们不知道秦海盐县的县城就叫华亭,还可能不知道非常著名的“华亭海”。华亭海最早出现在北宋中叶《元丰九域志》中,宋元明清上海方志多有记载,并且把它与上海的得名联系在一起(另文专述)。如500年前成书的《弘治上海志》:“沿革,上海县,称上洋、海上,旧名华亭海。”③上海市地方志办公室、上海市闵行区地方志办公室编:《上海府县丛书·上海县卷一》上海古籍出版社2015年版,第15页《嘉靖上海县志·总叙》:“唐天宝十年始县华亭。此曰华亭海④上海市地方志办公室、上海市闵行区地方志办公室编:《上海府县丛书·上海县卷一》上海古籍出版社2015年版,第105页。”《江南经略》:“上海县境考:上海在府治东北,故称华亭海。”⑤(明)郑若曾:《江南经略》第2部分《同治上海县志》:华亭县“其东北有华亭海,即今县治也”。⑥上海市地方志办公室、上海市闵行区地方志办公室编:《上海府县丛书·上海县卷三》上海古籍出版社2015年版,第1400页它们异口同声,说上海县城这个地方,古代就叫华亭海。但如此重要的一个地名,《云间志》竟然只字未提,或许它并不知道历史上曾有“华亭海”,抑或知道名称,但不知为何物,故而回避。随着上世纪60年代谭其骧对华亭海的解释,使其更加扑朔迷离。也许出于同样的原因,《上海通志》《上海地名志》及《上海水利志》对“华亭海”这个上海地区最重要的地名,竟然也只字未提。
而《上海对外经济贸易志》则将华亭谷和华亭海两者混为一谈,云:华亭县“该地东北为华亭谷(一作华亭海),故得名。”⑦《上海对外经济贸易志》编委会编:《上海对外经济贸易志》第二十卷,上海社会科学院出版社2001年版,第2533页。实际两者不在同一方位,如前所述:华亭谷在华亭县城以西三十五里;而华亭海则在华亭县的最东北面。
总而言之,至今不知道华亭乡、华亭海、华亭谷等名称孰先孰后?但只要知道“唐天宝中立华亭县,实为华亭境。”即在这片面积达几千平方公里的广袤土地上,无论是陆地,还是最大的水面,都是以“华亭”命名就足够了。因为隋唐时期这里就是华亭镇,所以当1260多年前设置新县时,理所当然取名为“华亭”。
明明是华亭县,为什么取名为《云间志》?“云间”是松江的别称。中国古代文人喜欢附庸风雅,使用古地名。如将正德《嘉定县志》,取名为《练川图记》。同样,南宋《华亭县志》被名为《云间志》。
“云间”名称的来历,与西晋文学家陆云(262—303年)有关。陆云,其字士龙,华亭人。他到京城洛阳,丞相张华安排他会见洛阳名士荀鸣鹤。张华对二人说,你们皆当世名士,出身名门,不能说俗套话。于是,陆自我介绍说“云间陆士龙”。“云间”是取“云从龙”之义,意即点出他是前朝东吴名将、丞相陆逊的后人。荀也回应自称“日下荀鸣鹤”。“日下”是太阳之下,即皇帝直接统治之下,可以作为首都的代称。荀鸣鹤意在道出自己是洛阳京师名士的身份。这两句自我介绍,成为当时名对,由是双双名扬天下。后来“云间”便成为松江的别称,至今也有1700年历史了。唐代《吴地记》曰:“华亭县,在郡东一百六十里,地名云间,水名谷”。①(唐)陆广微:《吴地记》说明唐代时,华亭确也可称为云间。
一般人总认为,正在使用的名称是“新”的,不用的才是“古”的。杨潜本来嗜古,主修《华亭县志》时,他以为云间名称更久远,故命名为《云间志》。自此以后,有关松江郡邑之文献专著,多以“云间”作名,如《云间古迹考》《云间竹枝词》《云间名胜》等有40余种。殊不知,当时正在使用的“华亭”名称,实际比“云间”要早500年。《云间志》前大约还有五本志书,都以华亭命名,如《祥符华亭图经》等(已全部失传)。说明上海地区古代一直叫华亭——行政建置名为华亭县,方志也用华亭命名。是杨潜开了“云间”风气之先。
总之,通过以上对“华亭”名称的种种考辨,一是说明上海地区的历史底蕴非常深厚,值得深入挖掘。二是说明时至今日,华亭仍有不少待解之谜。对上海早期历史的研究还很不够,希望引起有关部门和学者的高度重视。如华亭县是从何划分而成?华亭海是否与上海得名有关?此乃上海历史研究基本问题。再如明了流经华亭古镇的古河道,以及华亭港口是否属于上海海上丝绸之路等,都有重要的现实意义。