2010-01-04 27 views
1

我正在開發一個具有MySQL數據庫的Flex應用程序。使用PHP從數據庫中檢索數據,然後使用AMFPHP將數據傳遞給FlexFlex中的特殊字符

我遇到的問題是數據正在從Word文檔複製,有時會導致一些更不尋常的字符沒有正確顯示。例如,Word使用不同的字符開始和結束雙引號,而不是僅僅(標準雙引號)又如長劃線,而不是- 。

所有這些字符導致一個或更重要的大寫字母A出現,不僅如此,每次保存文檔時,字符都會被重新替換,導致這些重音A的出現數量不斷增加。交換一個沒有字符似乎工作,但顯然這需要編譯一個可能出現的所有字符的列表,並意味着因爲這是第一次使用新角色的範圍。它也似乎是一種解決問題的蠻力方式,而不是一個適當的解決方案。

有誰知道是什麼原因造成的,並有任何良好的解決方法/修復?在沒有設置爲使用utf-8的html文檔中使用utf-8字符時,我遇到了類似的問題。這是同樣的事情,如果是這樣,我如何獲得flex使用utf-8?

非常感謝

亞當

回答

2

這是一回事,而智能引號不是特殊的這樣:你其實會失敗爲每個非ASCII字符。因爲這樣一個簡單的特別替換智能引用字符將是毫無意義的。

在某些時候,某人在應該使用UTF-8時,會將字節序列解碼爲ISO-8859-1或Windows代碼頁1252。很難說沒有細節/代碼的地方。

什麼是「文件」?它是什麼格式?該格式是否支持UTF-8內容?如果不是,那麼您需要在文檔創建階段將輸入的輸出編碼爲該文檔的使用者所期望的編碼,例如。使用iconv

+0

非常感謝。我已經檢查過,我能想到的所有明顯的地方都被設置爲使用Utf-8,但由於確認它確實是一個編碼問題而激發了我,我深入挖掘並發現AMFPHP正在將所有東西都轉換回ISO-8859- 1。我拿出了這個,現在一切似乎都很好。 再次感謝! – Addsy 2010-01-04 15:55:14