Nextcloudでテキストファイルが文字化けする
Nextcloudをインストールしてからというものの、いたって快適に使わせてもらっています。
とても便利ですが、先日、テキストファイルを転送したところ、文字化けして使い物にならない状態になってしまいました。
よくよく考えると、ここまでテキストファイルを転送していなかったことに気づきました。個人的にテキストファイルをあまり使わなくなってきてるのかもしれませんが、テキストファイルは便利ですのでよく使っていますので、なんとかしなくてはなりません。
テキストファイルが文字化けします
悲しいかな。
こんな感じで文字化けします。ファイルタイトルだけは、しっかり読めるんです。ファイルタイトルは、「こんな感じで文字化けします.txt」です。
しかし、テキストファイルの中身は、何が書いているのかまったく分かりません。これでは、使い物になりません。これはかないません。
設定ファイルの追記
調べてみると、Nextcloudの設定ファイルに数文字追加するだけで解決することが分かりました。
nextcloudのインストールフォルダ内のある nextcloud/apps/text/lib/Service に EncodingService.php という設定ファイルがあります。
このファイルの最初の方に下記の記述があります。
public const COMMON_ENCODINGS = [ ‘UTF-8’, ‘GB2312’, ‘GBK’, ‘BIG-5’, ‘SJIS-win’, ‘EUC-JP’, ‘Windows-1252’, ‘ISO-8859-15’, ‘ISO-8859-1’, ‘ASCII’];
ここに下記のように ‘SJIS-win’, ‘SJIS’, を追記します。
public const COMMON_ENCODINGS = [ ‘SJIS-win’, ‘SJIS’, ‘UTF-8’, ‘GB2312’, ‘GBK’, ‘BIG-5’, ‘SJIS-win’, ‘EUC-JP’, ‘Windows-1252’, ‘ISO-8859-15’, ‘ISO-8859-1’, ‘ASCII’];
設定はこれだけです。
テキストファイルの文字化けが解消しました
めでたし、めでたし。
数分の作業で簡単に解消しました。
しかし、テキストファイルってのは、数ある種類のファイルの中でも一番基本的なものじゃないかと思いますが、この程度のことはデフォルトで対応しておいてほしい気はします。簡単に解消しただけに逆にそう感じます。
なお、今回は、SJIS-winとSJISの2つの文字コードを追加したわけですが、2つともが必要なんでしょうか?調べてみると、SJIS-winは、SJISをMicrosoftが拡張したもので、SJISにない文字が存在します。
丸数字 ①、②・・・
ローマ数字 Ⅰ、Ⅱ・・・
(株)を1文字で表す ㈱など
私はあまり使いませんが、使う人はよく使ってそうな上記の文字は、SJISにはなく、SJIS-winにだけ存在する文字なのです。
そうであれば、今回の設定作業でSJIS-winさえ追加しておけば、SJISは追加しなくてもいいとような気がしますが、今回はついでに追加しておきました。将来、困ったらまた考えます。
まとめ
最後までご覧いただきありがとうございます。
Nextcloudでテキストファイルを表示させたときに文字化けする問題について、Nextcloudの設定ファイルを修正するだけで簡単に文字化けが解消することについてまとめたレポートはいかがだったでしょうか。
今回の記事は、こちらのブログを参考にさせていただきました。
ありがとうございました。
Nextcloudについては、こちらもご覧ください。