我有一個表單需要接受特殊字體字符並將它們寫入數據庫表。我相信編碼在頁面/表單級別設置正確,但是當字段寫入數據庫時,字符會變爲其他編碼。其他SO答案似乎表明設置編碼爲UTF-8是我所做的答案。寫入/檢索特殊字符到數據庫中
現在,如果我複製粘貼下面的字符,直接到數據庫表,它將它們保持得很好,如圖所示。它只有當我從表單寫入表格或當我檢索它在網頁中顯示時。
實施例的字符:ⓄⒼקร
該網頁被設定爲:<meta charset="utf-8">
form標籤包括屬性:accept-charset="UTF-8"
腓之前的插入件具有:$_POST['tag']=utf8_encode($_POST['tag']);
我之前沒有必須編寫/編碼這些類型的字體/特殊字符,所以我在這裏做錯了什麼?
你怎麼知道它變了?你用什麼客戶端來閱讀它?客戶端上的編碼是什麼? – shmosel
你檢查了你的數據庫整理嗎? –
如果我複製/粘貼上述字符到表單域並提交,我會將其他ascii字符寫入表中。但是,如果我直接通過phpMyAdmin將這些相同的字符粘貼到表中,那麼他們在phpMyAdmin中編寫並正確顯示。如果通過mysqli查詢檢索顯示在網頁中,瀏覽器給我ascii或類似的。 – DMSJax