PHP htmlspecialchars () fonksiyonu hata UTF-8 dizesi kullanmaya çalışırken

0 Cevap php

Ben şunları yaptım:

  1. Ben veri içeren bir tablo var. Sıraların biri içinde bir ü bir karaktere sahiptir.
  2. Ben OpenOffice.org bir CSV dosyası olarak kaydedebilirsiniz. Bir karakter kodlama bana sorduğunda, ben UTF-8 seçin.
  3. UTF-8 utf8_general kodlama ile bir MySQL veritabanı tablo, InnoDB oluşturmak ve CSV almak için Navicat kullanın.
  4. I $string özel ü karakteri içeren dize nerede PHP işlevi htmlspecialchars($string, ENT_COMPAT, 'UTF-8') kullanmayı deneyin.

Bu bana bir hata veriyor: Invalid multibyte sequence in argument. I 'ISO8859-1' ile 'UTF-8' değiştirdiğinizde, hata atılır, ancak yanlış karakter gösterilir. ('Bilinmeyen karakter' karakteri, <?> gibi görünüyor)

Ben veritabanında dize güncelleştirmek için bir HTML formu kullanırsanız, hata kaybolur ve karakter o zaman Navicat kayıtlarına baktığımız zaman doğru ancak, bu iki karakter görünüyor görüntülenir:

[1/4][A with some thing on top of it]

Tek bir karakter olarak görmedim bazı Çokbaytlı. `

Ne nereye şeyler yanlış gidiyor, ve ben bu konuda ne yapabilirim, oluyor?

0 Cevap