2011-12-23 21 views
7

我在網站上實施了電子名片。問題是,雖然特殊字符在Windows上沒有正確解析。在Windows中使用電子名片進行UTF8編碼

我可以讓它在Mac上正常工作,但只要我在Windows(Windows通訊錄)中打開vcf,它就會變得混亂。當我在記事本中打開vcf時,它通常顯示字符。

我嘗試了所有我能找到的vcf版本(2.1,3.0,4.0)。我在我的內容類型頭文件(text/x-vcard; charset:utf-8)中使用了charset-utf-8。我用了N; CHARSET = utf-8 :(和其他標籤)。

全部無濟於事。

有沒有人有解決方案?感謝您分享您的洞察力。使用

頁眉:

header("Content-type: text/x-vcard; charset=utf-8"); 
header("Content-Disposition: attachment; filename=".$this->filename.".vcf"); 
header("Pragma: public"); 
+1

你的頭有點臭,你試過了嗎?Content-type:text/x-vcard; charset =「utf-8」 – 2011-12-23 15:05:52

+0

@EugenRieck仍然是一個錯字:** text/x-vcard; charset = utf-8 ** – 2011-12-23 16:45:51

+0

謝謝Eugen和Joop。不幸的是,這並沒有幫助。正如你在我的問題中看到的那樣,這是我已經嘗試過的一件事情。 我在問題中添加了使用的標題。 – hphoeksma 2011-12-23 18:51:09

回答

1

相比2個文件,一個來自不同的服務和礦山工作。看來其他服務的工作版本使用Content-Type: text/x-vcard; charset=iso-8859-1

5

我發現,而不是在電子名片領域提供;CHARSET=utf-8,我改爲提供;CHARSET=windows-1252,從而導致虛擬卡口正確地在Outlook 2010

並非所有人都適合的解決方案,但希望這可以幫助別人。

+2

在我的情況下,內容使用utf-8進行編碼,最後執行一個utf-8頭文件。現在我檢查Windows OS - >然後是ISO內容編碼,否則utf-8編碼。效果很好。 – hphoeksma 2012-02-10 07:41:38

+0

謝謝!它爲我工作,當沒有什麼似乎工作! – 118218 2015-06-22 15:45:48

1

使用ISO-8859-1,你應該沒問題。只要確保鏈中的每個部分都使用該編碼(.vcf文件,.vcf文件中的編碼聲明和標題)。

部首:

Content-Type: text/x-vcard; charset=iso-8859-1 

維卡(例如,必須用ISO-8859-1編碼被保存):

N;CHARSET=iso-8859-1:Übermann 

測試在Windows,OS X,IOS和Android。

+1

你使用什麼版本?我在Windows 8上使用3.0版,並且它不起作用 – 2014-08-13 12:28:43

+0

我使用的是3.0,請參閱http://pastebin.com/HBW9LgJi。在Windows 8上測試我的客戶Outlook(未知版本)。您是否確定實際數據也在ISO-8859-1中?我在我的腳本(PHP) – 2014-08-18 17:20:20

+0

中使用utf8_decode(),實際上我使用的是node.js.無論如何,對於windows,iso-8859-1或utf-8是相同的(不起作用),但是如果我用Android讀取同一張卡片,那就沒問題。希望他們修復這個錯誤..我也使用vCard版本3.0。 – 2014-08-19 11:13:48

1

對我來說,使用UTF-8工作,並具有可讀性的Mac OS X一樣ĘĄĆŻŹŃŁÓŚ ęąćżźńłóś所有的波蘭字符足以切換申報VERSION:3.0

+0

不適用於我(outlook 2013)。你能提供一個完整的vcard,以供我參考嗎? – 2014-08-19 12:10:09

+0

@JesperRønn-Jensen http://pastebin.com/AjL3Gdwe – andi 2014-08-19 13:09:13

5

爲了讓你不得不打開Outlook選項Outlook導入UTF-8電子名片,去高級>國際選項,然後選擇UTF-8用於傳出電子郵件和傳出電子名片......並瞧 - 進口工程!

是不是很明顯,那個人必須設置導出選項來設置導入...?謝謝微軟:P

+0

這很簡單,在帶有UTF-8電子名片的德語Windows 10上使用德語Outlook 2016可以很好地工作。我必須改變的唯一選擇是將vCard改爲「Unicode(UTF-8)」的「輸出/輸出」選項。你是對的@ user808667,這真的不是那麼明顯! – PeterCo 2017-09-21 12:29:44