幫老婆買了台 iPhone, 因為她原本的手機有些問題很難用。
Android 轉移出來的電話簿資料為 vCard 格式 (*.vcf)
但是 iPhone 沒有辦法直接吃這個檔案。
iPhone 有提供由 Outlook 轉移通訊錄的功能。
所以我就想可以這樣子做
Android -> Outlook -> iPhone
但是原來沒有這麼容易;因為 Android 的系統是 UTF-8,但是 Outlook 是 big5 的。
這也就算了,要轉碼其實是很容易的;notepad++ 就可以辦到。
Outlook 所吃的 vcf 又只能一個檔案一個人的格式。
Android 匯出的檔案是百多個通訊資料都存在同一個檔案裡。
開始上網找轉換程式,download 了兩三套;全都是要收錢的。
有的只轉了前5個給你看,接著說如果要再轉下去請給錢等等的訊息。
看了一下格式後;讓我很驚訝原來這格式是這麼簡單的。
開頭是 BEGIN:VCARD 結尾是 END:VCARD
把他們全都拆開不就好了。
以下提供一個用 PHP 寫的拆檔流程供大家參考。
若使用熱列的話不排除提供一個網頁供人上傳及下載使用。
這麼容易的東西還在收人家錢,太不應該了。
<?php
$myfile = ‘all.vcf’;
$lines = file($myfile);
$filename = 0;
foreach($lines as $line){
$line = str_replace("\r", ", $line);
$line = str_replace("\n", ", $line);
if($line == ‘BEGIN:VCARD’){ //new entry
$filename += 1;
}
$line=iconv("UTF-8″,"big5″,$line);
system("echo ‘$line’ >> /yoyo/$filename.vcf");
}
?>
