2
ゴーは自動エスケープをテンプレートが、唯一の5つの文字が<> &」と""「)golangテンプレートでは?
(html.EscapeStringを参照)ので、
のような、このコード(あなたがここで確認することができますよう: Go Playground)check := func(err error) {
if err != nil {
log.Fatal(err)
}
}
t, err := template.New("foo").Parse(`{{define "T"}}special chars: {{.}}{{end}}`)
check(err)
err = t.ExecuteTemplate(os.Stdout, "T", "<>&' äåüöß")
check(err)
戻り
special chars: <>&' äåüöß
は、どのように私は、テキストをレンダリングするためにgolangテンプレートを使用してくださいäåüößのような文字を含む可能性がありますか?
私はこれらを自分自身から逃れることはできません。 "ä"は "& auml;"にエスケープします。つまり、手動でエスケープすると、golangは2回目の "&"文字部分をエスケープし、 "& amp; auml;" (ただし、htmlファイルには、エスケープされた「& auml;」が1つ含まれているので、ブラウザには「ä」と表示されます)。
なぜこれらの文字のエスケープ/エンティティを使用する必要がありますか?彼らはutf-8とiso-8859-1の両方のエンコーディングでうまくいきますが、私は... – BadZen
私はスウェーデンに住むドイツ人ですので、データ(例:姓)にこれらの文字が含まれていて、現在 "ö "のように見える"¶ "。 – StephanS
HTML文書ではどのような文字エンコードが指定されていますか? (理想的には、あなたが見ているページに私たちをリンクさせることができますか?サーバーはドキュメントの設定を上書きできます...) – BadZen