Ben bir Microsoft SQL Server 2008 veritabanı bir MYSQL veritabanına veri almak için bir PHP komut dosyası yazıyorum.
MSSQL Server "SQL_Latin1_General_CP1_CI_AS" ve söz konusu veri türünde bir sütun "Nchar" saklanan olan bir harmanlama ile ayarlanır.
Benim PHP web sayfalarını kullanmak
<meta http-equiv="content-type" content="text/html; charset=utf-8">
Onlar UTF-8 karakter kodlaması ile görüntülenmesi gerektiğini belirtmek için.
Ben sqlsrv PHP uzantısı kullanarak MSSQL veritabanından veri çekiyorum.
$sql = 'SELECT * FROM [tArticle] WHERE [ID] = 6429';
$stmt = &sqlsrv_query($dbHandler, $sql);
while ($row = sqlsrv_fetch_object($stmt)) {
// examples of what I've tried simply to display the data
echo $row->Text1;
echo utf8_encode($row->Text1);
echo iconv("ISO-8859-1", "UTF-8", $row->Text1);
echo iconv("ISO-8859-1", "UTF-8//TRANSLIT", $row->Text1);
}
Şimdi MYSQL veritabanına veri ekleme unut. Ben dize benim PHP sayfa düzgün görüntülemek için alınamıyor. Benim listede örneklerden:
echo $row->Text1
"Lucys": Bir açıkça geçersiz bir karakter olarak benim tarayıcı tarafından işlenen
bu bir Aşağıdaki örneklerde tüm boşlukları olarak işlenir: "Lucys"
Bu benim için bir karakter kümesi uyumsuzluk sorunu gibi görünüyor ama nasıl bu veri (benim web sayfası kodlaması değiştirmeden) MS SQL veritabanı düzgün görüntülemek için alabilirim? Ben bunu anlamaya eğer ben muhtemelen MYSQL veritabanı bölümünde saklayarak halledebiliriz.