Golang で CSV にエクスポートすると文字化けする

PHPz
リリース: 2023-05-10 22:40:35
オリジナル
921 人が閲覧しました

Golang を使用して CSV ファイルをエクスポートする場合、文字化けが発生する場合は、次の点に注意する必要があります。

  1. 文字セットのエンコードの問題

文字セットCSV ファイルのエンコードには通常 UTF-8 が使用されるため、CSV ファイルをエクスポートするときは、ファイルの文字セット エンコードがソース コードと一致していることを確認する必要があります。文字セット エンコーディングは、次のコードを使用してソース コードで設定できます。

// 设置字符集编码为UTF-8
w := csv.NewWriter(file)
w.Write([]string{string("字段1"), string("字段2"), string("字段3")})
w.Flush()
ログイン後にコピー
  1. コンテンツ エンコーディングの問題

CSV ファイルをエクスポートするときは、すべてのコンテンツが次のとおりであることを確認する必要があります。ファイルと同じ方法でエンコードされます。 文字セットのエンコードは一貫しています。コンテンツが正しくエンコードされていない場合、ファイルが文字化けする可能性があります。次のコードを使用して、コンテンツのエンコードの問題を解決できます。

// 设置字符集编码为UTF-8
file, err := os.Create("data.csv")
if err != nil {
    log.Fatalln("Failed to create file", err)
}
defer file.Close()

w := csv.NewWriter(transform.NewWriter(file, charmap.Windows1252.NewEncoder()))
w.Write([]string{string("字段1"), string("字段2"), string("字段3")})
ログイン後にコピー
  1. 特殊文字の処理

CSV ファイルでは、一部の特殊文字がファイルの通常の読み取りに影響を与える可能性があります。ファイル (カンマ、二重引用符など)特殊文字を含むフィールドは、正しく処理されるように、"..." または '...' を使用して囲むことができます。コード例は次のとおりです。

w.Write([]string{`"特殊字符,处理方式1"`, `'特殊字符,处理方式2'`, string("字段3")})
ログイン後にコピー

上記は、CSV ファイルをエクスポートするときに文字化けが発生する考えられる原因と解決策のいくつかです。他にご質問がある場合は、コメント欄にメッセージを残してください。すぐにお答えいたします。

以上がGolang で CSV にエクスポートすると文字化けするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート