Ben bunu çözmek büyük bir sorun yaşıyorum:
Ben bir MySQL veritabanı kodlama latin1_swedish_ci adları ve adreslerini depolayan bir tablo var.
Ben çıktı UTF-8 XML dosyası çalışıyorum, ama ben şu dizeyle sorun yaşıyorum:
I dosyayı vim zaman Otivägen
o Otivägen
olarak çıkılır ediliyor. Ayrıca ben almak IE açıldığındaki
"An invalid character was found in text content. Error processing resource
"
Ben aşağıdaki kodu vardır:
function fixEncoding($in_str)
{
$cur_encoding = mb_detect_encoding($in_str) ;
if($cur_encoding == "UTF-8" && mb_check_encoding($in_str,"UTF-8"))
return $in_str;
else
return utf8_encode($in_str);
}
header("Content-type: text/plain;charset=utf-8");
$mystring = "Otivägen" // this is actually obtained from database;
$myxml = "<myxml>
....
<node>".$mystring."</node>
....
</myxml>
";
$myxml = fixEncoding($myxml);
Gerçek XML çıktısı aşağıdaki gibidir:
<?xml version="1.0" encoding="UTF-8" ?>
<myxml>
....
<node>Otivägen</node>
....
</myxml>
Herhangi bir fikir nasıl vim dosya okur bu yüzden çıktı dosyasını can Otivägen
olup Otivägen
?
EDIT:
I did mysql_client_encoding()
and got latin1
I then did mysql_set_charset()
and again ran mysql_client_encoding()
and got utf8, but still the same outputting issues.
Edit 2
Ben komut satırında açmış ve sorguyu çalıştırmak SELECT address1 FROM address WHERE id = 1000;
SELECT address1 FROM address WHERE id = 1000;
Current database: ftpuser_db
+-------------+
| address1 |
+-------------+
| Otivägen 32 |
+-------------+
1 row in set (0.06 sec)
Şimdiden teşekkürler!