我在我的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」嗎?
我要做相反的事,所以從UTF-8解碼,所以也許:http://php.net/manual/en/function.utf8-decode.php ? – DonCallisto 2011-12-29 09:51:29
它沒有工作 – DonCallisto 2011-12-29 10:03:34
是的,我們可以使用utf8_decode得到相反的結果。 – 2011-12-29 10:09:27