2011-12-29 97 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