PHP localeconv ile sorun () - Belki de UTF-8

3 Cevap php

Ben PHP localeconv() ile bir sorun yaşıyorum. Ben bir Windows PC kullanıyorum.

I setLocale(LC_ALL, 'fra_fra') fonksiyonunu kullanarak Fransa'ya benim yerel ayarlayın. Sonra bir değişkene localeconv() işlevini çağırın. Ne zaman değişken, aşağıda ne olsun ben çıktı.


Array
(
    [decimal_point] => ,
    [thousands_sep] => �
    [int_curr_symbol] => EUR
    [currency_symbol] => �
    [mon_decimal_point] => ,
    [mon_thousands_sep] => �
    [positive_sign] => 
    [negative_sign] => -
    [int_frac_digits] => 2
    [frac_digits] => 2
    [p_cs_precedes] => 0
    [p_sep_by_space] => 1
    [n_cs_precedes] => 0
    [n_sep_by_space] => 1
    [p_sign_posn] => 1
    [n_sign_posn] => 1
    [grouping] => Array
        (
            [0] => 3
        )

    [mon_grouping] => Array
        (
            [0] => 3
        )

)

Ben bir UTF-8 görüntü sorunu olup olmadığından emin değilim. Ben şunları yaptık:

  1. UTF-8 PHP.ini benim default_charset ayarla
  2. Sayfamda Content-type UTF-8
  3. Ben de yani header('Content-type: text/html; charset=utf-8') bir başlık aynı aradım
  4. Ben firefox kullanıyorum ve hala hiçbir şans, orada çok charset değişti ediyorum
  5. Ben de AddDefaultCharset ile benim http.conf dosyası güncellendi, ama yine de puro yok

Ben tamamen şaşkına ve mutlaka yanında ne emin değilim.

Herkes yardımcı olabilir?

Teşekkürler.

3 Cevap

Sonunda bu doğru karakterleri görüntülemek için, yani çalışmak lazım.

Sadece (Bu Windows için olduğunu lütfen unutmayın) aşağıdakileri yapın:

iconv('Windows-1252', 'UTF-8', $locale_conv_arr['currency_symbol']);

$locale_conv_arr, daha önce söz benim de tanımlanan dizi temsil etmektedir.

Yön için Stefan Gehrig teşekkürler.

Şerefe.

Ben çıktı not UTF-8 olduğunu düşünüyorum. Böyle fr_fr.UTF-8 veya fr_fr.utf8 en çok * nix sistemlerde böyle bir şey olabilir UTF-8-yereli kullanmaya çalışın.

Arada: fra_fra-yerel hakkında emin misin? O fr_fr için Fransız gerekmiyor mu?

Işletim sistemi işlevlerini kullanmadan yerel bilgi verir "intl" adında bir PHP uzantısı vardır: bu sorunu önleme, münhasıran afaics UTF-8 kullanır.

http://www.php.net/manual/en/book.intl.php

Bu ben bu konuda yardım ararken geldi SO soru olduğu gibi, eminim bir bağlantı vardı yapmak istedim ...