ホームページ > 運用・保守 > Linuxの運用と保守 > Windows で作成したファイルを Linux 上で実行すると文字化けが発生する

Windows で作成したファイルを Linux 上で実行すると文字化けが発生する

王林
リリース: 2019-12-03 11:43:30
オリジナル
3072 人が閲覧しました

Windows で作成したファイルを Linux 上で実行すると文字化けが発生する

質問:

Windows の matlab で書かれたコード (.m) ファイルを Linux (Ubuntu) にコピーすると、コメントが次のようになります。中国語 それはすべて意味不明です、そしてその逆も同様です、それは同じ問題です。

理由:

Windows で使用されるデフォルトのエンコードは GB2312 で、Linux で使用されるデフォルトは UTF-8## です。 #。したがって、Windows 上で生成されるコードは GB2312 エンコーディングであり、Linux 上では当然文字化けとして認識されますが、逆も同様にコード化けます。

無料のビデオ チュートリアルの推奨事項:

linux ビデオ チュートリアル

解決策:

ファイル エンコード形式を直接トランスコードします。

Linux で

iconv コマンドを使用して、ファイルのエンコードを変更します。

test1.m は GB2312 から UTF-8 (Windows での Matlab のコード) に変換されます。

iconv  -f  GB2312  -t  UTF-8  test1.m  -o  test1.m
ログイン後にコピー

test2.m は UTF-8 から GB2312 に変換されます (Linux 上の Matlab のコードは Windows 上で実行されます)

iconv -f  UTF-8  -t  GB2312  test2.m  -o  test2.m
ログイン後にコピー

ファイルが多すぎてバッチ処理が困難な場合スクリプトの一括変換エンコーディングが必要な場合は、次のように記述したシェルを使用できます。

使用法: 変換する必要があるフォルダーにスクリプトを配置し、スクリプトを実行して、現在のディレクトリとそのサブディレクトリ内のすべてのファイルを指定されたエンコード方式に変換します。

実行は次のとおりです。

GB2312 から UTF-8 に変換

./convertMatlab.sh  win
ログイン後にコピー

UTF-8 から GB2312 に変換

./convertMatlab.sh  linux
ログイン後にコピー

ヒント: 一般ユーザー向け実行権限がない場合は、

chmod x ConvertMatlab.sh を使用して実行権限を増やす必要があります

おすすめの関連記事とチュートリアル:

linux チュートリアル

以上がWindows で作成したファイルを Linux 上で実行すると文字化けが発生するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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