2017-12-26 13 views
1

Ich habe einen Code, der richtig als ASCII-Zeichen bis 127 drucken. Aber es nicht gedruckt erweiterte ASCII-Zeichen richtig.Zeichen erweiterte ASCII-Anzeige PHP

$data = "Two Ts and one F."; 
foreach (count_chars($data, 0) as $i => $val) { 
    echo "There were $val instance(s) of " , chr($i) , " in the string.<br/>"; 
} 

sein Ausgang gleicher 128-255 ist:

There were 0 instance(s) of � in the string. 

Ich habe meine Datei gespeichert in utf-8 encoding

+1

Überprüfen Sie diesen Link: - https://stackoverflow.com/questions/1028449/why-ist-the-extended-ascii-character-%C3%A2-%C3%A9-etc-getting-replaced-with -c –

+0

Sie haben Ihre Datei als UTF-8 gespeichert. Wie sieht das aus? – halojoy

+0

Ich denke, du willst so: -https: //eval.in/925234 –

Antwort

1

Ich glaube, ich Ihren Punkt bekam, Sie so tun müssen: -

<?php 

$data = "Two Ts and one F."; 
foreach (count_chars($data, 0) as $i => $val) { 
    echo "There were $val instance(s) of ". utf8_encode(chr($i)) ." in the string.".PHP_EOL; 
} 

Ausgang: - https://eval.in/925240

+0

funktioniert es, aber ich habe eine Frage. warum brauche ich explizit utf8_encode während ich schon gleich meine datei in utf-8 habe? – Curious

+0

@Curious ich kann nicht sagen, bis ich wirklich überprüfe, ob deine Datei tatsächlich utf-8 kodiert ist oder nicht. –