2015-02-11 54 views
1

我在Laravel應用程序中遇到了一些德語特殊字母(ö,ü...)的問題。Laravel本地化爲德語和特殊字母

我的編碼設置爲UTF-8。

一切工作正常與數據庫中的內容(其中是utf8_general_ci)。當我將一些文本硬編碼到刀片視圖文件時,也沒有問題。但是,我正在使用本地化文件(/app/lang/de/myFile.php)和關聯數組。

來自該數組的德語字符顯示爲 。奇怪的是,當我在刀片中使用var_dump(trans('myFile.key'))時,特殊字符起作用,但是當有echo trans('myFile.key')時,就有那個問號。

任何想法?

回答

1

我有一個類似的問題,與我的一個項目;不知道它是否相關。不同的Web瀏覽器以不同的方式處理語言環境和翻譯。一旦在Firefox £無法正常工作,除非您將瀏覽器的區域設置更改爲英國。然而,&163;普遍工作。 Opera似乎可以全面工作,但IE和Firefox在嘗試使用非本地瀏覽器所在的字符或符號時出現奇怪的行爲。

我會嘗試的第一件事是change your browser's language,看看是否修復它。如果是這樣,那麼問題將在於瀏覽器如何解釋返回的內容。如果解決了這個問題,那麼這對德語用戶來說就不是一個問題,因爲他們的瀏覽器已經(應該)已經支持該語言了。

如果沒有,那麼問題可能在於服務器上文件的格式。如果這些文件以ANSI的形式存儲在網絡服務器上,那麼它可能取代輸出。由於NFS安裝和一些Windows用戶/編輯器,我們也遇到了這個問題。我可以建議的最安全的方法是將ö和ü更改爲&246;&252;,但我可以理解這會變得單調乏味。

+0

感謝這個答案,看起來像這個問題更復雜,然後我想。只是說,如果我在Web瀏覽器設置中手動更改編碼,並將其設置爲Windows-1250或Windows-1252,則問號消失,並且所有內容都按預期工作。 – Dusan 2015-02-11 22:04:59

+0

是的,本地化並不是一項有趣的任務,並導致了很多看不見的結果。我祝你比我們遇到的運氣好。 – dasper 2015-02-11 22:18:37

3

好的,幾個小時後:)我成功了!重點是以UTF-8編碼保存本地化文件。崇高文本默認保存爲Windows-1250。