2011-12-29 122 views
1

我在我的PHP的頁面頭上的字符轉換有一些問題。標題特殊字符轉換?

我必須開發一段代碼,這意味着WS(xml-rpc協議)可以與python中編寫的另一段代碼進行接口。

這是蟒蛇片斷的輸出:

Output={'metaTagKeyWords': '', 'metaTagTitle': '10% DISCOUNT FOR 3 NIGHTS','metaTagDescription': 'Questa \xc3\xa8 una prova: devo vedere che succede.\r\n\r\nProva prova.\r\n\r\nDaje.\r\n\r\nENGLISH VERSION !!!!\r\n'} 

所以我不得不將一些字符:首先\ XC3 \ xa8這是「E」,並在第二次的Unicode轉換, 「\ r \ n \」字符。

我知道如何處理「\ r \ n \」字符,但我不知道如何轉換unicode字符。

我不得不alredy試圖做這樣的事情:

htmlentities($data[$META_TITLE_KEY], ENT_QUOTES, 'UTF-8') 

但dind't工作。

而且,我已經alredy試圖在轉換pyhon在UTF-8的字符串(這樣的實體是U「\ XC3」或類似的東西,但結果相當一致。)

附加信息:必須在php文件標題上使用該轉換,轉換爲「元標記描述」標記。

EDIT1:

這似乎是,我們所相信的爲UTF-8,是不是LATIN-1。所以,如果我在頭改變的那部分:

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

<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" /> 

它的工作原理。

但我必須有一個utf-8字符集;所以我認爲必須在Python應用邏輯中做一些事情(因爲當我從編輯器到數據庫我編碼的東西,而當我從數據庫返回編輯器時,我解碼了一些東西)。 調保持更多的信息

EDIT2:

也許有的功能,我用它來儲存數據到Postrges DMB,轉換數據的Latin-1,然後在UTF-8。所以,如果我加上這條指令:

d_meta[element] = codeDbToEditor(d_meta[element]).replace('\r\n', ' ').decode('latin-1') 

一切似乎都有效。

我有正確的「insipration」嗎?

回答

0
$str="Hello Loréane"; 
echo utf8_encode($str); 

希望它有助於

+0

我要做相反的事,所以從UTF-8解碼,所以也許:http://php.net/manual/en/function.utf8-decode.php ? – DonCallisto 2011-12-29 09:51:29

+0

它沒有工作 – DonCallisto 2011-12-29 10:03:34

+0

是的,我們可以使用utf8_decode得到相反的結果。 – 2011-12-29 10:09:27