PHP UTF-8 MSDOS komut satırı kodlama

2 Cevap php

Everything is in the question : I have a Php script that is a UTF-8 file. In this script I want to do this :

  <?
  echo "âêïû\n";
  ?>

Ben bir MSDOS isteminde çalıştırmak ben bu olsun:

C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php
âêïû
C:\php>

Ben doğru bir dönüşüm düzeni bulmak mümkün olmamıştır ettik. Ben de bu kodu denedim:

$tab = mb_list_encodings();
foreach ($tab as $enc1) {
  foreach ($tab as $enc2) {
    $t=mb_convert_encoding("âêïû\n", $enc1, $enc2);
    if (strlen($t)<14) {
      echo $enc1." ".$enc2." = ".$t."\n";
    }
  }
}

Ve ben doğru dönüşüm bulamadık!

Herhangi bir yardım büyük mutluluk duyacağız

2 Cevap

Sen bana doğru yolda koymak ancak bir sorun (Windows'u seviyorum \ o /) kinddof vardı:

C:\php>chcp 65001
Page de codes active : 65001
C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php | more
Mémoire insuffisante.

Mémoire insuffisante = yeterli bellek.

Ben çalışırsanız

C:\php>chcp 1252
C:\php>php -c C:\WINDOWS\php.ini -f mysqldump.php
C:\php>ééîîïïÂÂÂÂâûü

çalışır. Sadece Tanrı bilir neden. Ama çalışıyor. Doğru yolda beni koymak için teşekkürler!

Gitmek için php kodu düzgün komut istemi için UTF8'i formu yolu gereğidir:

  echo mb_convert_encoding($utf8_string, "pass", "auto");

Sorun varsayılan olarak Windows cmd satırı UTF8'i desteklemiyor. Bu kaynaktan link, bu izlerseniz

  1. Bir komut istemi penceresi açın
  2. Varsayılan tarama yazı tipi dışında bir şey kullanmak için pencerenin özelliklerini değiştirin. O Lucida Console True Type yazı iyi iş gibi görünüyor.
  3. Komut isteminden "chcp 65001" Run

Çıktı utf8 gerekir.