I use ODBC to connect to SQL Server from PHP. In PHP I read some string (nvarchar column) data from SQL Server and then want to insert it to mysql database. When I try to insert such value to mysql database table I get this mysql error:
Incorrect string value: '\xB3\xB9ow...' for column 'name' at row 1
(Bazı Avrupa dillerinden) ASCII olmayan karakterler var olduğunda her şey gayet tüm ASCII karakter dizesi için sorun oluşur.
Yani, daha genel anlamda: PHP yalak ODBC tarafından alınan MS SQL Server veritabanı bir Unicode dizesi vardır. Sonra MySQL veritabanı için yürütüldüğü (utf-8 varchar sütun için değer olarak) sql insert sorgusu konur.
Birisi kodlama açısından bu durumda ne oluyor bana açıklayabilir misiniz? Hangi kodlama convertions yer alabilir ne karakter adım at?
Ben kullanın: PHP 5.2.5, MySQL5.0.45-toplum-nt, MS SQL Server 2005.
PHP Linux platformda çalıştırmak zorunda.
UPDATE: hata ben bu dizesi utf8_encode ($ s) çağırdığınızda oluşur ve mysql insert sorguda bu değeri kullanın, ancak daha sonra eklenen dize böylece UTF8 (MySQL veritabanı doğru göstermez değil kodlama sadece uygun utf8 dizesini uygulamak için çalıştı, ama o) doğru karakterleri kaybeder.