まず、いくつかの情報開示:私はLinux管理者ではなく、私のLinux管理者はプログラマーではない。mysqlimport、改行、文字エンコーディングについて(私は思うが)
つまり、毎日生成されるテキストファイルをインポートするためにmysqlimport
コマンドを実行するcronジョブがあります。私はこのファイルがどのように作成されるかについては何の支配もない。試行錯誤を経て、テキストファイルがWindowsマシン上で生成されることがわかったので、lines-terminated-by
引数の場合は\r\n
と指定する必要がありました。先週は正常に動作しなくなりました。ファイルがLinuxで生成されたためだと判断しましたので、\n
に変更しました。私の理解(完全にはっきりしていない)は、どのプラットフォームとエンコーディングが使用されているかを決定するテキストファイルを誰が生成するかによって異なります。
mysqlimport
コマンドを実行しているシェルスクリプトがあります。正しいエンコーディングを提供すると、すべてが完全に機能します。しかし、最初に誰がテキストファイルを作成するのか分からないので、エンコーディングが何であるかを判断し、適切な改行文字を実装する方法はありますか? (そして、ここで「エンコーディング」の適切な用語である?)