Diyez işaretleri ile PHP / Apache sorunu (£)

2 Cevap php

I have some text stored in MySQL database like this "Tom gave Sarah £5 for her book". Up until last Monday this displayed on the site perfectly when pulled from the site, showing "Tom gave Sarah £5 for her book".

Şimdi, ben değişmedim bile / çalışmayı durdurdu, tüm / kaldırılan / güncellenen bir şey yüklenir.

The old values in the database are being displayed as "Tom gave Sarah £5 for her book". On the form that saves this text to database, where it used to save to database fine as "Tom gave Sarah £5 for her book", it is now saving as "Tom gave Sarah ?5 for her book", and displaying on the site as this as well ("Tom gave Sarah ?5 for her book").

Peki bu neden olur? Ben bu denemek ve sıralamak için saçımı çekerek duyuyorum. Ben utf8_encode/utf8_decode ile oynarken ve ISO-8859-1 ve sayfaları için UTF-8 karakter kümesini kullanarak ve her yöntem farklı sonuçlar (örn. üretir rağmen? "5" / "Â £ 5" / "AA £ 5" / oylandı "5" / "☐ 5"), hiçbiri doğru.

Ben phpMyAdmin ince £ işaretleri görmek ve £ işaretler farklı bir web sunucusu üzerinde çalışmak, çünkü sorun MySQL olamaz.

Yardım!

2 Cevap

Bunun yerine tekrar tekrar bu yinelenen, ben bir link ile sizi başbaşa bırakacağım:

UTF-8 all the way through…


Eğer chazomaticus cevap belirtilen adımları takip ederseniz, sorunları gitmiş olacak.

In your specific problem database / table / field encoding is probably the issue.

Veritabanı yeterli olmayabilir utf8 ayarlanır. Bağlantı karakter seti UTF8 için ayarlanmış olduğundan emin olun. Bu sorguyu gerçekleştirin: 'SET İSİMLERİ utf8;'