2016-03-30 20 views
0
UTF-8的轉換

我這是在ISO-8859-1編碼的字符串,我需要將其轉換爲UTF-8ISO-8859-1在PHP

這是原始的字符串:

4055765204275; 261270001; Baumwolle 39%聚酰胺; 100%Acetat; 100%乙酰乙酸乙酯; ; ; FS16; 70; 116; FS16Jacken &M ntel; 1; EUR; DE; ; 0,6; Black; Jacken &M ntel; Stepp & Daune; ; 0010001001001001; 261270001; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 86

這是轉換後的字符串:

4055765204275; 261270001; ;戛納; 6138;米色; 38; 261270001-6138-38; 199,9; 199,9; 80; 61%Baumwolle 39%聚酰胺; 100%Acetat; ; ; FS16; 70; 116; FS16Jacken &Mâ¼½¼Œ; 1; EUR; DE; ; 0,6; Black; Jacken &M�ntel; Stepp & Daune; ; 0010001001001001; 261270001; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 86

這是我的代碼:

$content = "4055765204275;261270001; 
;Cannes;6138;Beige;38;261270001-6138-38;199,9;199,9;80;61% 
Baumwolle 39% Polyamid;100% Acetat; ; 
;FS16;70;116;FS16Jacken & M�ntel;1;EUR;DE; 
;0,6;Black;Jacken & M�ntel;Stepp & Daune; 
;0010001001001001;261270001; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 
; ; ;86 "; 
echo $content; 

$str = utf8_encode($content); 

echo "<hr>" . $str . "<hr>"; 

顯然,轉換不正確......

有什麼不對?

+0

看起來你的原始字符串包含一個UTF-8替換字符('「\ xEF \ xBF \ xBD」'),然後它被雙重編碼。如果您對編碼有疑問,最好使用'bin2hex'來發布數據的十六進制轉儲。 – nwellnhof

回答

0

如果替換字符( )出現在您的源代碼中,這意味着您的編輯器本身的字符編碼預期錯誤。我不確定您使用的是什麼,但是您需要查看您的編輯器設置,以期望開始使用utf8編碼。

編輯:或者,如果您正在複製的原始來源具有替換字符,則問題與該來源有關,並且沒有恢復。