我想將字符串轉換爲UTF-8。問題是有些字母由兩個八位字節的二進制代碼組成,大部分是一個八位字節的二進制代碼。將混合文本轉換爲UTF-8
這裏有一個例子:
echo $title; # Shuttle XPС slim C
echo Encoding::fixUTF8(Encoding::toUTF8($title)); # Shuttle XP? slim C
現在,如果你轉換成二進制就可以看到問號c字符看起來二進制不同的字符串:
S = 01010011
h = 01101000
u = 01110101
t = 01110100
t = 01110100
l = 01101100
e = 01100101
= 00100000
X = 01011000
P = 01010000
C = 11010000 10100001
= 00100000
s = 01110011
l = 01101100
i = 01101001
m = 01101101
= 00100000
C = 01000011
所以問題是,一個'C'是'11010000 10100001',一個'C'是'01000011'。這發生在許多不同的字母上。有沒有辦法解決這個問題?
在此先感謝!
退房,它可能會有所幫助。 https://stackoverflow.com/questions/21322702/what-is-the-best-way-to-handle-remove-utf-8s-right-to-left-override-characters –
僅供參考:「toUTF8' 「沒有指定*和」'fixUTF8'「(甚至是什麼意思?)是絕對無稽之談。 – deceze