2013-04-29 123 views
0

我試圖使用php/AJAX在網頁上輸出.txt文件的內容,該文件適用於沒有特殊字符的.txt文件。但是,如果.txt文件包含字母上的重音符等字符,例如,對文件內容的AJAX請求返回null。讀取.txt文件中的特殊字符 - PHP

我認爲這個問題起源於複製和粘貼word文檔中.txt文件的內容,就像我跑過的一個測試一樣。

如果複製,例如,從Word文檔的撇號並將其​​粘貼到記事本通過一個.txt,不同的看法似乎它將如何,如果撇號被直接鍵入到記事本.txt文件。

我的客戶端目前上傳.txt文件到他的服務器上的某個文件夾,並通過從word中複製和粘貼來創建他的內容。有沒有辦法解決這個問題,以便讀取這些「複製和粘貼」的特殊字符?格式差異

例子:

從字複製 - 戴維的

直接類型 - 戴維的

你看到撇號的區別?

+0

你是否將文件以UTF8或ANSI格式保存在記事本中? – hexblot 2013-04-29 13:39:59

+0

UTF8編碼 – FunnyOxymoron 2013-04-29 13:42:31

+0

您將需要尋找解決方案來「拉直報價」在您的PHP或您的JavaScript。 – 2013-04-29 13:50:46

回答

0

可以做htmlspecialchars()上包含文本文件的變量在回顯之前嗎?

這應該將任何特殊字符轉換爲HTML實體,並應該可以在網頁上查看。

0

OK))

1. do not use notepad, ever 
    2. save all the files with the utf8 encoding 

就是這樣,問題就解決了

0

這些被稱爲智能引號。您可以按照位於here的指南,在Word選項中更改它們。這將是最好的選擇,因爲它定義了您在源代碼中的預期輸出。如果這不是一個選項,即一次有成千上萬的Word文件,那麼後處理是一條可行的路。這可以通過字符looking up the HTML Entity並使用查找和替換功能來完成。我建議using PHP to open the text file使用str_replace()函數來查找和替換所有不需要/不可顯示的字符,它們本身可以在數組等中定義。