2014-10-27 227 views
0

我在我的網站中使用西班牙語。當iinserted字符像I,A,E,O它將在分貝正確插入,但它不能在前端顯示,它在前端像這樣顯示Smarty特殊字符問題

例如:

Insert name : Test teachér in database it inserted correctly but in front it display as 
Test teach�r. 

我也使用<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 也沒有改變。

+0

您是否將文件(文件)保存爲utf-8?你以前不用在PHP中設置另一種編碼嗎?如果使用數據庫,數據庫數據是否在utf-8中播放? – panther 2014-10-27 11:09:57

+0

這是一個非常寬泛的問題。你可以從數據庫中獲取數據而不需要設置正確的編碼,你可以使用一些額外的功能來修改輸出。你應該首先看看phpmyadmin,如果數據在數據庫中是正確的,向我們展示如何從數據庫獲取數據並將它們分配給smarty並顯示smarty代碼如何顯示它 – 2014-10-27 11:26:44

+0

Marcin你是否得到了我的問題我期待什麼?我在數據庫中使用了一般歸類:utf8_general_ci。 – sudhakar 2014-10-27 11:36:31

回答

0

它與smarty無關。您存儲數據,並將其設置爲UTF-8通用CI

  • 檢查數據庫連接的字符集

    1. 檢查數據庫字符集SET NAMES utf8
    2. 檢查腳本的輸出,如果它在UTF你可以用元字符集做,或者在標題內容類型中。

    Content-type: text/html; charset="UTF-8"

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

    這些操作後,你應該有適當的輸出。

    您還可以選擇檢查對字符串起作用的函數是否支持UTF-8。

  • +0

    我用在標題中,並插入我使用mysql_set_charset('utf8'); – sudhakar 2014-10-27 11:45:06