Sorunlar kodlama / çözme / Fransızca aksanlı karakterleri ekleme

0 Cevap php

Ben bir veritabanına aşağıdaki dizeyi yazmaya çalışıyorum:

hoparlör ızgarası hareli etkisi yazdırırken.

'É' karakteri bana büyük bir baş ağrısı neden oluyor. Veritabanı bir masaüstü uygulamasının bir parçası çünkü, htmlentities kullanamazsınız. Benim HTML UTF-8'dir.

Bu sorunu hata ayıklama benim (5 gün ve sayma) girişimi sırasında, ben kusurlu karakter olarak görüntülenir dışında iyi çalışır gibiydi masaüstü uygulamasını kullanarak veritabanına aynı dize eklenen '?' - Hatta htmlentities veya utf8_encode kullanarak.

Bunlar benim dize eklemek için çalışıyor aldığınız hata mesajları şunlardır:

Warning: PDOStatement ::) [pdostatement.execute] (yürütün: mesaj: Kapatılmamış tırnak işareti karakter dizesi önce 'hoparlör ızgarası Moir'. (Şiddeti 15)

Warning: PDOStatement :: execute () [pdostatement.execute]: Genel SQL Server hata: SQL Server gelen iletileri kontrol edin (şiddeti 15)

Warning: PDOStatement ::) [pdostatement.execute] (yürütün: mesaj: Satır 1: yakınında yanlış sözdizimi 'hoparlör ızgarası Moir'. (Şiddeti 15)

Lütfen yardım edin!

Update (2011-01-18)

Görünüşe göre, veritabanı karakter kodlamasını SQL_Latin1_General_CP1_CI_AS. Bu ISO-8859-1 SQL Server eşdeğer midir? ISO-8859-1 PHP'nin varsayılan karakter kodlama değil mi?

Update 2 (2011-01-18)

So close! DSN dize charset=UTF-8 dahil bana 'é' karakteri eklemek için izin ve masaüstü uygulamasında doğru gösterir. Hala gibi sergiliyor '?' web sayfası olsa, ben preformatting işlevi $text_block = htmlentities( $text_block, ENT_NOQUOTES, 'UTF-8' ); kullanıyorum bile.

0 Cevap