據《太平廣記》載,武則天天授三年(692年),河北人張鎰在衡州(今衡陽)為官,他膝下無子,只有兩個女兒,長女早夭,只留下幼女倩娘。倩娘自小生得俊俏,且聰慧過人,張鎰夫妻對她疼愛有加。
張鎰的外甥王宙自幼父母雙亡,寄居在張鎰家。王宙是個神童,讀書過目不忘,再加上長得帥,深得張鎰喜愛。張鎰曾說等王宙長大了,就把倩娘嫁給他。倩娘是王宙心中的女神,王宙自然樂意,從此他跟倩娘關係更近。兩人情愫暗生,一家人卻不知曉。
一晃多年過去了,王宙和倩娘都已長大成人,張鎰卻不知為何忘記了當年的承諾。張鎰的一個幕僚給倩娘說了一門親事,張鎰滿口答應。倩娘得知後,極為憤懣,積憂成疾,臥床不起。王宙怨恨不已,但寄人籬下,也不好多說什麼,就以赴京趕考為托詞,跟張鎰告別。張鎰遂給了王宙一筆銀子,派人租了船,送他上路。
王宙登船北上,行過重重山,因天色已晚,船家便靠岸歇息。王宙在船上輾轉反側,難以成眠。忽然,有人敲打船舷,王宙連忙起身查看,居然是倩娘披頭散髮、光著腳跑來了!他心頭狂喜,一把將倩娘摟在懷裡,倩娘淚如雨下,說:“你我情深義重,怎肯相棄?我是偷偷跑出來的,從今以後我們再不分開了。”
王宙感動不已,當即將倩娘藏進船艙,令船家馬上開船,不再進京,改回老家四川安身。
顛沛流離幾個月後,兩人在四川勉強安了家,日子雖過得清苦,但郎情妾意,倒也甜蜜。五年後,倩娘為王宙生下兩個兒子。但倩娘思念父母,常為不能在父母身邊盡孝而哭泣不止。王宙認為生米已煮成熟飯,舅舅或許已消氣,遂帶妻兒回到衡州。
到衡州後,王宙為防萬一,決定先一個人去拜見舅舅。見到張鎰後,王宙跪地謝罪,把事情經過一一講明。張鎰聽完傻眼了,道:“倩娘臥病在床已經五年,門都沒出過,怎麼可能跟你私奔,還生了兩個兒子?”王宙瞠目結舌,說倩娘和兒子就在碼頭船上等著自己。張鎰忙令下人跟著王宙去碼頭查看,果然見倩娘神采奕奕地待在船上。見下人來,倩娘笑吟吟地問道:“幾年不見了,我爹娘還好嗎?”下人嚇壞了,趕緊回去向張鎰稟報。
張鎰驚駭不已,趕緊進屋探視女兒,沒想到倩娘已經起來梳妝打扮,且面如桃花,喜笑顏開。不一會兒,王宙和倩娘從碼頭趕來,步入正廳。屋內的倩娘也走了出來。令人無法相信的是,兩個倩娘不但容貌身姿一模一樣,就連裝扮、衣飾也都一般無二,兩人相視一笑,漸漸靠近,霍然合為一體!
張鎰驚駭之餘,認為上天特別眷顧這對敢於追求自己幸福又顧念父母的有情人,遂允了這門婚事。從此,張家終於一家團圓,40年後,倩娘的兩個兒子都中了進士。