Php ½ yazmak nasıl

4 Cevap php

Hızlı soru, bunu nasıl geçerli yapabilirsiniz:

if($this->datos->bathrooms == "1½"){$select1 = JText::_( 'selected="selected"' );}

½ tanınan görünmüyor. I ½ olarak yazmaya çalıştım ama sonra bunun için ½, kelimenin tam anlamıyla değil ½ işareti görünüyor. Herhangi bir fikir?

4 Cevap

Diğerleri de belirtildiği gibi, büyük olasılıkla, bir karakter kodlama sorun var. Ben PHP kodlamalar emin değilim ama dikkate bütün resmi almak gerekir. Bu örnek için ben PHP komut dosyası FORM mesaja yanıt varsayarak yaşıyorum.

  1. Bazı app (sizinki, büyük olasılıkla) bazı kodlama kullanılarak kodlanmış ve tarayıcıya gönderilen bazı HTML yazıyor. Genel seçimler ISO-8859-1 ve UTF-8 vardır. Eğer her zaman UTF-8 kullanmak gerekir. Not: Bu web (ne yazık ki) için varsayılan değil.
  2. Tarayıcınız bu html indirir ve sayfa oluşturur. Tarayıcılar çoğunlukla, dahili Unicode kullanmak veya bazı üst kümesidir. Kullanıcı bir formu gönderir. Bu formdaki verileri genellikle bunu UTF-8 olarak size geri gönderilen alır UTF-8 göndermek sayfası Yani içeri gönderildi aynı kodlama ile kodlanmış.
  3. PHP gelen isteğin bayt okur ve kendi iç değişkenlerini ayarlar. Bu doğru kodlama toplama değilse, bir sorun olabilir yerdir.
  4. Bir byte karşılaştırma parçalanır bir dize karşılaştırma yapıyor, ama karakterleri oluşturan bayt kullanılan kodlama bağlıdır. As Peter Bailey wrote,

    • ISO-8859-1, bu karakter 0xBD olarak kodlanmış
    • UTF-8, bu karakter 0xC2BD olarak kodlanmış

Sen emin beklediğiniz gibi oluyor yapmak için yolun her adımında metin kodlamasını doğrulamak gerekir. Sen nasıl sayfa değişiklikleri görmek için başka bir şey için tarayıcınızın otomatik tespit kodlama kodlama değiştirerek tarayıcıya gönderilen verileri kontrol edebilirsiniz.

Veri DB'den yerine tarayıcıdan gelen, ama değilse, sizin uygulaması ve DB arasındaki kodlamaları kontrol etmeniz gerekir.

Son olarak, ben senin gibi karşılaştırma için bir anahtar olarak 1 ½ gibi bir dize kullanmak için pratik bulunuyor öneririm. Ben 1.5 kullanıyorum ve veriler sadece nasıl görüntüleneceğini değiştirme sonra, ekran anda bu tespit tavsiye ederim. Avantajları: Bir dize, vb karşı Artı bu gibi hataları önlemek olarak değer sayısal olup olmadığını banyo sayısına göre sonuçlarını sipariş edebilirsiniz.

Aradığınız karakteri Unicode karakter Vulgar Fraction One Half

Emin size veri kodlama bağlı tüm bunların düzgün, bu karakteri gösterdiklerini yapmak için yollar çok sayıda vardır. Bakarak here biz görebilirsiniz

  • ISO-8859-1, popüler bir batı kodlama, bu karakter BD olarak kodlanmış
  • UTF-8, popüler bir uluslararası kodlama, bu karakter kodlanmış reklam C2BD

Bu ne demektir PHP dosyası UTF-8 kodlanmış, ancak ISO-8850-1 (ya da tersi) gibi tarayıcı bu gönderirken, karakteri düzgün hale olmayacak olmasıdır.

Diğerleri attılar ne olursa olsun çıkış kodlama, ayrıca karakter kodlama agnostik olacak bu karakter için HTML varlık kullanabilir ve her zaman düzgün (HTML) verecek.

"1½" ile karşılaştırarak deneyin