2016-06-20 6 views
0

Ich muss das Datumsformat in Japanisch Gebietsschema zu übersetzen, aber seine Ausgabe falsch zeigt.Ich versuchte auch, indem Sie das Gebietsschema des Browsers, aber es funktioniert nicht in Chrome und IEMoment js nicht richtig übersetzen das Datumsformat für Japanisch Gebietsschema

app.filter('japan', function() { 
      return function(dateString, format) { 
       return moment().locale('ja').format('LLLL'); 
      }; 
     }) 

Output für das Format ist 2016 蟷 エ 6 譛 20 譌 · 蜊 亥 燕 11 譎 N 蛻 譛 域 屆 譌 ·

erforderliche Ausgabe ist 2016 年 6 月 20 日 午前 11 時 30 分 月曜日

+2

Ich glaube nicht, dass dies ein Problem mit Moment ist. Das ist [mojibake] (https://simple.wikipedia.org/wiki/Mojibake). Stellen Sie zunächst sicher, dass Ihre Website UTF8- oder UTF16-Codierung verwendet (UTF8 ist der Defacto-Standard). Je nach Gebietsschema müssen Sie möglicherweise auch das Attribut 'lang' für das Element '' anpassen. – JLRishe

+0

Vielen Dank @JLRishe nach dem Hinzufügen UTF8 funktioniert es richtig vielen Dank für die Hilfe –

+0

Froh, das zu hören. Ich habe unten eine ausführlichere Antwort hinzugefügt. Ich würde es begrüßen, wenn Sie es als akzeptierte Antwort markieren, indem Sie auf das Häkchen-Symbol klicken. – JLRishe

Antwort

0

Dies ist kein Problem mit Moment. Es ist ein Codierungsproblem, das als mojibake bekannt ist und kann auftreten, wenn Ihre Seite eine Codierung aufweist, die die von Ihnen verwendeten Zeichen nicht korrekt verarbeitet. Im Allgemeinen ist es vorzuziehen, eine neutrale Codierung wie UTF-8 oder UTF-16 zu verwenden (UTF-8 ist der De-facto-Standard), und aus den obigen Kommentaren klingt es so, als hätte dies Ihr Problem gelöst.

Darüber hinaus ist es eine gute Idee, ein lang=""-Attribut für das Element mit lokalisierten Inhalten festzulegen (dies kann so hoch wie das Element sein), da bestimmte Zeichen je nach Gebietsschema unterschiedlich aussehen können.

Um Ihren Text als ein Beispiel zu nehmen, sieht der obere rechte Teil des Zeichens 羽 wie 羽 mit lang="zh" aus, sieht aber aus wie zwei Seite-an-Seite with s mit lang="jp".

+0

In Chrome während der Lade-Seite zeigt es korrekt, aber es zeigt Mojibake, wenn wir zurück zur Seite von anderer Seite gehen zeigt es wieder mojibake –

+0

Können Sie sich vorstellen, warum die Codierung nicht richtig gesetzt, wenn Sie zurück auf die Seite ? Ich fürchte, ich kann nicht viel Rat geben, ohne mehr über die Besonderheiten Ihrer Situation zu wissen. – JLRishe