2011-08-07 84 views
0

我想在表格中存儲法語名稱和德語名稱,但所有特殊(異國)字符都將丟失。如何解決這個問題?在數據庫表中存儲法語和德語名稱

ANZ%C3%A8re

+0

您正在使用哪個數據庫?你設置了哪個編碼來使用? – Bohemian

+1

使用utf8_unicode_ci的Mysql – mark

回答

1

使用能夠存儲這些字符的表編碼,例如UTF-8或類似的東西。你使用什麼數據庫?

0

當然,在您輸入UTF-8數據庫中的名稱之前,您需要解碼percent-hex-hex轉義符。如果您從HTML表單中獲取百分比轉義的字符串,這可能會有點問題,因爲瀏覽器通常不會告訴您在對字節進行百分比編碼之前使用了哪種字符編碼。要遵循的最佳策略可能是檢查字節是否爲有效的UTF-8,並假設iso-8859-1(如果不是)。

+0

如何解碼十六進制代碼? – mark

+0

每個百分號後面跟着兩個十六進制數字。第一個十六進制數字編碼一個字節的高4位,第二個數字編碼低4位。 –

+0

那麼,有沒有某種php函數可以解碼? – mark