0
我從python服務器得到答覆基本上我在做什麼是發送文章和python代碼發送給我重要的標籤在文章中。我得到的回覆是這樣的PHP UTF8解碼不工作出來從python返回
"keywords": "[u'Smartphone', u'Abmessung', u'Geh\xe4userand']"
,所以我想爲utf8解碼的GEH \ xe4userand字符串。我讀過一些文章,我必須把它放在「」,然後做解碼,但它不起作用。我的代碼是
$tags = str_replace("'",'"',$tags);
$tags = preg_replace('/\[*\s*u(".*?")\]*/', "$1", $tags);
$tags = explode(',', $tags);
foreach ($tags as $tag) {
pr(utf8_encode($tag));
}
die;
我得到的輸出是
<pre>"Smartphone"</pre><pre>"Abmessung"</pre><pre>"Geh\xe4userand"</pre>
我沒有訪問Python代碼。
修復Python代碼;它會向您發送帶有Unicode轉義符的Python列表文字,而不是UTF8。它應該向您發送JSON,而非最有可能的。 '\ xe4'字符序列對代碼點U + 00E4進行編碼,但是它是4個文字ASCII字符。 – 2014-10-31 11:48:13
如果您無法修復Python代碼,則必須翻譯所有'\ xhh' 2-hex代碼才能將它們映射到Latin-1代碼點。任何'\ uhhhh'四位十六進制代碼都是Unicode代碼點,'\ Uhhhhhhh'八位十六進制代碼點用於BMP之外的Unicode代碼點,然後是'\ n','\ r'和'\ t'轉義代碼換行符,回車符和製表符。 – 2014-10-31 11:50:49
用適當的字符替換了十六進制,因爲改變python代碼不會很快發生。 thanx @Martijn Pieters – Rohan 2014-10-31 12:31:10