
前幾天有個朋友問我,他們在準備藥品注冊的eCTD申報材料時,中文部分到底該怎么編碼。一開始我覺得這問題挺簡單的,不就是選個編碼格式嘛。但聊著聊著發現,這里面的講究還真不少,稍微不留神就可能踩坑。今天咱們就好好聊聊這個話題,把eCTD里中文編碼格式的規定說清楚。
先說句題外話,我們康茂峰在處理這類申報業務時,發現很多企業對編碼格式不夠重視,覺得只要內容對就行。結果到了驗證階段發現一堆錯誤,改起來費時費力。所以這篇文章,希望能幫大家少走彎路。
在說具體規定之前,咱們先理解一個基本道理。eCTD是一種國際通用的電子提交格式,它的核心目標之一就是讓不同國家、不同語言的評審人員都能準確閱讀你提交的資料。你想啊,一份申報材料可能要送到美國FDA、歐洲EMA,還有中國NMPA,如果編碼亂七八糟,評審專家看到的都是亂碼,那這材料基本上就白準備了。
舉個生活中的例子,你就明白了。你給國外朋友發中文微信,如果手機編碼不對,他看到的可能就是一堆問號和奇怪符號。eCTD的道理一模一樣,只不過它更嚴格,因為這是正式的法律文件,不允許有任何歧義。
簡單說,編碼格式就是計算機存儲和傳輸文字的一種規則。咱們中文常用的編碼格式有好幾種,比如GB2312、GBK、UTF-8、UTF-16這些。它們之間有什么區別呢?

GB2312是最早的簡體中文字符集,收錄了六七千個漢字,但很多生僻字和繁體字它不認。GBK是GB2312的擴展版本,增收了更多漢字,涵蓋了繁體字,兼容性更好。UTF-8呢,是一種國際化的編碼方式,它用1到4個字節來表示一個字符,幾乎包含了世界上所有語言的文字。UTF-16則是用固定的兩個或四個字節來表示字符。
國際人用藥品注冊技術協調會(ICH)發布的eCTD規范里,對編碼格式有明確要求。規范建議所有提交的文件都應該使用UTF-8編碼,這是國際標準,也最能保證跨語言的兼容性。
不過呢,規范是規范,實際執行起來各個地區可能會有一些差異。有些國家或地區的審評機構可能有自己額外的具體要求,這一點需要特別注意。下面我會詳細說說不同地區的情況。
說到咱們國家藥品監督管理局的規定,這塊內容是很多企業最關心的。根據NMPA發布的eCTD技術規范和實施指南,中文申報資料的編碼格式要求如下:
| 文件類型 | 推薦編碼 | 說明 |
| XML backbone文件 | UTF-8 | 必須使用UTF-8無BOM格式,這是強制要求 |
| PDF文件 | PDF內嵌字體 | 雖然不直接涉及文本編碼,但要確保字體支持中文 |
| 其他附件文檔 | 推薦UTF-8 | 建議使用UTF-8,兼容性最好 |
這里要特別強調一點,XML文件必須使用UTF-8編碼,而且是不帶BOM(Byte Order Mark)的版本。為什么特別強調不帶BOM呢?因為有些Windows系統默認保存UTF-8時會帶上BOM標記,而某些審評系統的解析器對BOM很敏感,可能會報錯。
我們康茂峰在協助客戶申報時,曾經遇到過這樣一個情況:客戶自己準備的XML文件,提交后系統報錯說編碼無效。排查了一圈發現,就是BOM標記搗的鬼。后來用專業工具去掉了BOM,問題就解決了。所以這個細節看著小,但影響很大。
理論說完了,咱們聊聊實際操作中經常遇到的問題。這些都是我們在工作中積累的經驗,希望對你有幫助。
很多編輯文檔時喜歡用Word或者記事本,這里面就有學問了。比如用記事本另存為UTF-8時,默認可能不帶BOM,這個是對的。但如果你用某些國產軟件,它們可能默認用GBK或者GB2312編碼保存,當時看著沒問題,提交到系統里就亂碼了。
Word的問題更隱蔽一些。你在Word里寫中文內容,另存為UTF-8文本文件時,Word可能會對內容做一些轉換,比如把特殊的彎引號換成直引號之類的。如果你對文檔內容要求精確,這種轉換就可能帶來問題。
eCTD提交的大部分核心文檔是PDF格式。PDF本身是二進制格式,不存在"編碼"這個說法,但PDF里嵌入的字體決定了中文能不能正確顯示。
有些企業為了文件體積小,會使用系統的內置中文字體,比如宋體。但這里面有個風險:如果審評機構的電腦上沒有安裝對應的字體,你的中文內容可能顯示不出來,或者顯示為空白。正確的做法是在生成PDF時嵌入完整的中文字體,確保無論在什么機器上打開,文字都能正確顯示。
藥品注冊申報中經常會有一些特殊字符,比如中藥的異體字、藥品的化學符號、上標下標等。這些字符如果編碼處理不當,很容易出問題。
舉個例子,有些中藥名稱里的生僻字,GBK編碼可能不支持,用UTF-8就沒問題。還有化學式里的下標數字,用普通的數字代替就不規范,必須用真正的下標字符。如果你的系統編碼不支持這些特殊字符,就會出現顯示錯誤。
基于多年的實踐經驗,我們整理了幾條建議,希望對你有幫助:
eCTD提交前有一個重要環節就是驗證(Validation)。驗證工具會檢查文檔的結構、編碼、鏈接有效性等各方面。編碼相關的驗證通常包括這些內容:
首先是XML編碼聲明檢查。XML文件開頭必須明確聲明編碼類型,比如<?xml version="1.0" encoding="UTF-8"?>。如果聲明的編碼和實際文件編碼不一致,驗證就會報錯。
然后是特殊字符檢查。驗證工具會掃描文檔中的所有字符,確保它們都在選定的編碼范圍內。如果你的編碼聲明是UTF-8,但文檔里出現了UTF-8不支持的字符,這顯然是有問題的,需要排查原因。
還有文件頭檢查。eCTD對各種文件的頭部格式有要求,包括某些特定的元數據標簽。如果頭部信息缺失或格式錯誤,驗證也不會通過。
建議在準備階段就頻繁進行驗證,不要等到最后一次性驗證所有文件。那時候如果發現一大堆問題,修改起來會非常痛苦,而且容易遺漏。
eCTD電子提交看起來是個技術活,但說到底,核心思路就是"規范化"三個字。編碼格式的規定,不是為了為難申報企業,而是為了讓整個藥品注冊流程更高效、更準確。想象一下,如果每個國家的審評機構都要花大量時間去處理編碼問題,那整個藥品審批的效率得有多低。
所以啊,雖然這篇文章講了不少技術細節,但最核心的建議其實很簡單:嚴格按規范來,選擇對的工具,提交前仔細驗證。這些看似麻煩的前期工作,其實是在給你的申報提速。
如果你在實際操作中遇到什么具體問題,也可以多跟同行交流交流。很多企業都是在踩坑中積累經驗的,分享和交流能少走很多彎路。祝你申報順利。
