Ben mysql postgresql için bir db göç ediyorum. MySQL Veritabanı varsayılan harmanlama) postgres de UTF8 kullanıyor, ve ben (pg_escape_string ile verileri şifreleyen ediyorum, UTF8 olduğunu. Sebebi ne olursa olsun, ancak ben kötü kodlama hakkında bazı funky hataları çalıştırıyorum:
pg_query() [function.pg-query]: Query failed: ERROR: invalid byte sequence for encoding "UTF8": 0xeb7374
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client"
Bunu anlamaya çalışırken etrafında alay ve php garip bir şey yaptığını fark ettik; bir dize o sadece ascii karakter (örneğin "merhaba") varsa, kodlama ASCII. Dize herhangi bir ASCII olmayan karakter içeriyorsa, bu kodlama UTF8 (örn. "merhaba") olduğunu söylüyor.
Ben zaten UTF8 olan dizelerde utf8_encode () kullandığınızda, bu özel karakter öldürür yapar ve onları tüm kadar berbat, bu yüzden .. ben bu işe almak için ne yapabilirim?
(Şimdi o kadar asılı tam karakter "" dir, ama sadece değiştirin / arama yerine, bu yüzden bu tür sorun bir daha olmaz daha iyi bir çözüm bulmak istiyorum)