2012-04-29 61 views
2

這裏什麼是數據庫PHP UTF-8編碼的HTML輸入框

Seilpendel für Tragsysteme 

現在我加載到文本框,通過AJAX但什麼加載到文本框是

Seilpendel f�r Tragsysteme 

,但我想正確的串Seilpendel für Tragsysteme到輸入框

我曾嘗試

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

但不是它的工作

+1

是從數據庫中載入的「Seilpendelf rTragsysteme」?如果是這樣,你必須指定mysql連接的字符集。還使用支持德語的字體。 – 2012-04-29 21:31:35

+1

連接到數據庫後運行此查詢:'SET NAMES utf8'並查看是否有幫助。 「 –

+0

」也使用支持德語的字體。「 - 大聲笑,我不認爲有任何在網絡上常用的字體,無法應付變音。 – Hammerite

回答

1

從數據庫中裝載的數據或寫回來的時候,當確保DB是UTF8編碼,或使用函數utf8_encode()utf8_decode()

+1

這個解決方案只是一個補丁 - 它不能解決導致它的真正問題 –

+0

utf8-encode($ string)解決了我的問題 –

+0

是的,確保它在數據庫中使用UTF-8。使用PHPMyAdmin,它似乎默認爲拉丁語-1瑞典語或類似的東西。無論使用什麼工具或配置,請檢查它是否是utf-8。 – Andrea

1

確保你也保存UTF8編碼文件

可以在記事本打開它(甚至更好 - 記事本++) 並在「另存爲...」彈出 - 選擇而不是默認的UTF8 ANSI

如果你使用記事本++選擇UTF-8無BOM

如果該文件的編碼也可以確保到數據庫的連接是UTF-8 你可以通過查詢: SET NAMES 'utf8'

+0

我試圖將其加載到html的中,而不是在nodepad中 –

+0

是的,但您正在編寫的'php'文件以某種編碼保存。打開記事本,然後「另存爲文件 - 在另存爲」窗口中 - 在文件名下方,您將看到一個下拉菜單,選擇頁面的編碼 - 這也應該是「UTF-8」 –

2

解決此問題的正確方法是將數據庫配置爲使用UTF8作爲其字符編碼輸入和輸出。

RUN在連接到數據庫後,一次以及所有內容都應該開始工作。

SET NAMES 'utf8';