匯入和匯出數據表的代碼頁處理
您可以使用 MsiDatabaseExport 和 MsiDatabaseImport匯入和匯出 ASCII 文字檔,將當地語系化資訊新增至安裝資料庫。 因為資料庫字串集區使用 ANSI 代碼頁,因此資料庫和匯出 文字檔 都有代碼頁。
從資料庫匯出 文字封存檔案 時,封存檔案的編碼頁與父資料庫相同。 如需數字代碼頁的清單,請參閱 本地化錯誤和動作文字的表格。
註釋
將數據表導出至文字檔案時,會轉換控制字元,以避免與檔案分隔符號衝突。
ASCII 文字檔案庫
MsiDatabaseExport 所導出的 ASCII 文本檔案 會以下列格式進行說明:
- 數據表數據行的名稱會寫入第一行。
- 欄位格式會寫入第二行。
- 如果數據表只包含 ASCII 資料,則文字檔的第三行是數據表名稱,後面接著主鍵清單。
- 如果數據表包含非 ASCII 數據,而且資料庫會加上數位代碼頁的戳記,則代碼頁碼會出現在第三行的開頭。
- 如果資料庫包含非 ASCII 數據,但資料庫未加上數位代碼頁的戳記,則會在第三行開頭寫入目前的系統代碼頁碼編號。
- 文字檔的其餘行是指定代碼頁中的數據。
- 如果數據表包含數據流,MsiDatabaseExport 將數據表中的每個數據流匯出至個別的檔案。
中性和非中性代碼頁
您可以從具有中性代碼頁的資料庫開始促進當地語系化:
- 空白資料庫具有中性代碼頁。
- 不包含需要使用代碼頁表示的擴充字元的資料庫在 ASCII 中具有中性代碼頁。
如需詳細資訊,請參閱 使用中性代碼頁建立資料庫。
中性和非中性代碼頁具有下列特性:
- 如果將具有非中性代碼頁的 文字封存檔 匯入到具有不同非中性代碼頁的資料庫中,當呼叫 MsiDatabaseImport 時,安裝程式會傳回錯誤。
- 具有中性代碼頁的 文字檔 可以匯入具有任何代碼頁的資料庫。
- 具有任何代碼頁的 文字檔 可以匯入具有中性代碼頁的資料庫。
- 使用中性代碼頁將 存檔文件 匯入資料庫中,會將資料庫的代碼頁設定為存檔文件的代碼頁。 所有後續匯入資料庫的封存盤案都必須有與第一個檔案相同的代碼頁。
如需詳細資訊,請參閱 判斷安裝資料庫代碼頁 和 設定資料庫代碼頁。
MsiDatabaseExport 所匯出的 文字檔 可以與版本控制系統一起使用。 使用 Database Functions 或資料庫數據表編輯器來編輯資料庫。
您可以使用資料庫數據表編輯器或 Windows Installer API,將當地語系化資訊新增至安裝資料庫。 如需詳細資訊,請參閱 參數位符串的程式代碼頁處理。