Konvertieren von integer-array zu string in javascript

Hier wird php-code:

$arr=array(228,184,173,230,150,135,99,104,105,110,101,115,101);
$str='';
foreach ($arr as $i){
    $str.=chr($i);
}
print $str;

Ausgabe: 中文chinese

Hier ist der javascript-code:

var arr=[228,184,173,230,150,135,99,104,105,110,101,115,101];
var str='';
for (i in arr){
    str+=String.fromCharCode(arr[i]);
}
console.log(str);

Ausgabe: 中æchinese

So, wie sollte ich den array an javascript?

  • Wenn ich den PHP-code, bekomme ich die Ausgabe 中文chinese. Gibt es etwas besonderes über Ihre PHP-Konfiguration?
  • Ich bekomme genau die gleiche Ausgabe wie @Stegrex
  • Vielleicht ist es das problem der locale-Einstellung. Sie könnten versuchen, zu stornieren Kommentar zh_CN.XXX bei /etc/locale.gen
  • Ich bin mir nicht sicher, wie es funktioniert in Ihrem PHP-code. Aber für javascript die richtige array [20013,25991,99,104,105,110,101,115,101]
  • Sie sehen, es sind in ASCII. Interpretieren es als UTF-8.
  • 0DEFACED, fügen Sie diese Zeile vor dem drucken: header('Content-type:text/html; charset=UTF-8'). Öffnen Sie es mit einem richtigen browser.

InformationsquelleAutor solomon_wzs | 2012-12-25
Schreibe einen Kommentar