RcloneViewでのクラウド同期エンコーディングとUnicodeファイル名エラーの修正
クラウドプロバイダーやオペレーティングシステムによって、ファイル名の扱い方は異なります。Unicode文字、特殊記号、エンコーディングの不一致は同期の失敗を引き起こします。ここでは、RcloneViewでこれらを診断し修正する方法を説明します。
Google Drive上のrésumé_2026.pdfという名前のファイルは、OneDrive for Businessへの同期に失敗することがあります。ローカルNAS上の日本語文字を含むフォルダは、S3への転送ができない場合があります。#、%、:を含むファイル名は、Dropboxでは問題なくてもSharePointでは拒否されることがあります。これらのエンコーディングと文字互換性の問題は、ファイルが静かにスキップされたり、解釈しづらいエラーを生成したりするため、最も厄介なクラウド同期の問題の一つです。

すべてのクラウドを一か所で管理・同期
RcloneViewはrcloneのクロスプラットフォームGUIです。フォルダを比較し、ファイルを転送・同期し、クリーンなビジュアルインターフェースでマルチクラウドのワークフローを自動化できます。
- ワンクリック操作: コピー · 同期 · 比較
- 信頼性の高い自動化のためのスケジューラーと履歴
- Google Drive、OneDrive、Dropbox、S3、WebDAV、SFTPなどに対応
コア機能は無料。Plusで自動化機能を利用可能。
よくある症状
- 「無効なファイル名」または「サポートされていない文字」エラー: 転送先のプロバイダーが、サポートしていない文字を含むファイル名を拒否します。
- 同期中にファイルが静かにスキップされる: 転送は「成功」として完了しますが、転送先で一部のファイルが欠落しています。これらのファイルには通常、問題のある文字が 名前に含まれています。
- 転送先で文字化けしたファイル名: ファイルは届きますが、その名前に
%xxエスケープシーケンス、置換文字(?)、または文字化け(不正な文字表示)が含まれています。 - 「パスが長すぎます」エラー: エンコードされたファイル名が、転送先のパス長制限(例: SharePointは400文字、S3は1024文字)を超えて長くなります。
- 似た名前の重複ファイル: 一見同じに見える2つのファイル(例: 合成済みと分解済みのUnicodeを持つ
café)が、異なるファイルとして扱われます。
問題を理解する
プロバイダーごとの文字制限
各クラウドプロバイダーには、許可されるファイル名の文字に関する異なるルールがあります。
| プロバイダー | 制限される文字 |
|---|---|
| OneDrive Business | " * : < > ? / \ |、および特定の状況下での# % |
| SharePoint | " * : < > ? / \ | # % ~、先頭・末尾のスペース |
| Google Drive | /とヌルバイトのみ制限 |
| Dropbox | /とヌ ルバイト。Windowsでは末尾のスペースとピリオド |
| AWS S3 | ほぼ制限なし(任意のUTF-8バイトシーケンス) |
| ローカルファイルシステム(Windows) | " * : < > ? / \ |、および予約語(CON、PRNなど) |
制限の緩いプロバイダー(Google Drive、S3)から制限の厳しいプロバイダー(OneDrive Business、SharePoint)へ同期する場合、エンコードしない限り、制限文字を含むファイルは失敗します。
Unicode正規化
Unicodeは同じ文字を複数の方法で表現できます。例えば、éは次のようになります。
- NFC(合成): 単一のコードポイントU+00E9
- NFD(分解): 2つのコードポイントU+0065 + U+0301
macOSは通常NFDを使用し、WindowsとLinuxはNFCを使用します。Google Driveは元のエンコーディングを保持しますが、OneDriveはNFCに正規化します。つまり、macOSで作成されGoogle Driveにアップロードされたファイルは、比較時にOneDrive上の同じファイルと一致しないことがあります。人間にはファイル名が同一に見えても、です。
修正1: 自動文字エンコーディングを有効にする
RcloneView(rcloneを通じて)は、プロバイダー間で転送する際に制限文字を自動的にエンコードします。デフォルトでは、各リモートタイプに、その特定の制限を処理するエンコーディングプリセットが設定されています。例えば、OneDriveにコピーする場合、"、*、:のような文字は、見た目は似ているが許可されるUnicode相当の文字に自動的に置き換えられます。
それでもエンコーディングエラーが発生する場合は、エンコーディングが無効化されていないか確認してください。リモート設定で、encodingパラメータがデフォルト値に設定されていることを確認します(Noneに設定しないでください)。これはRcloneViewのRemote Managerで確認・変更できます。
修正2: Unicode正規化を処理する
macOS由来のファイルとWindowsベースのクラウドプロバイダー間で同期する場合、Unicode正規化の違いにより、比較時に誤検知(実際には同一なのにファイルが異なるように見える)や転送先での重複ファイルが発生することがあります。
ファイル名の正確なバイトシーケンスを保持したい場合は、RcloneViewのカスタムフラグで--no-unicode-normalizationフラグを使用してください。あるいは、ほとんどのクラウドプロバイダーはサーバー側でファイル名を正規化しており、rcloneのデフォルトの動作は最も一般的なケースを正しく処理します。
問題が解消し ない場合は、プロバイダー間の大文字・小文字の区別の違いが問題を引き起こしているとき(例: S3は大文字小文字を区別しますが、Windowsのローカルファイルシステムは区別しません)、--fix-caseフラグが役立ちます。
修正3: 問題のあるファイルの名前を変更する
問題のある文字を含むファイルが少数の場合、最も簡単な修正方法は、ソース側でそれらの名前を変更することです。RcloneViewのエクスプローラーを使用して、特殊文字を含むファイルを特定し、直接名前を変更してください。すべてのプロバイダーで避けるべき一般的な文字:
# % & { } \ < > * ? / $ ! ' " : @ + \`` \| =- 先頭または末尾のスペースとピリオド
- Windowsの予約語(CON、PRN、AUX、NUL、COM1-9、LPT1-9)
修正4: フィルタールールを使用して問題のあるファイルをスキップする
ファイル名を変更できない場合(例: 自分が管理していない共有ドライブ上にある場合)、フィルタールールを使用して、特定の文字パターンを含むファイルを同期から除外します。これは修正というより回避策ですが、問題のあるファイルによって同期が失敗したり停止したりするのを防ぎます。
RcloneViewのジョブ設定で、以下のようなフィルタールールを追加します。
#を含むファイルをスキップするための--exclude "**/*#*"%を含むファイルをスキップするための--exclude "**/*%*"
後で同期ログを確認し、どのファイルがスキップされたかを特定し、必要に応じて手動で処理してください。
修正5: パス長制限を確認する
ファイル名がエンコードされると、より長くなります(制限文字はそれぞれマルチバイトのUnicodeシーケンスに置き換えられます)。ソースパスがすでに転送先の制限に近い場合、エンコーディングによってその制限を超えてしまいます。
SharePointのパス長制限は400文字です。Windowsのデフォルトの制限は260文字です(設定変更可能)。S3のキー長制限は1024文字です。
パスが長すぎるというエラーが発生した場合は、ソースの階層内のフォルダ名を短くするか、深くネストされた構造をフラット化してください。RcloneViewのエクスプローラーは完全なパスを表示するため、深くネストされたファイルを簡 単に特定できます。
今後の問題を防ぐために
- アップロード前にファイル名を標準化する: 最初からファイル名に特殊文字を使わないようにしましょう。英数字、ハイフン、アンダースコア、ピリオドのみを使用してください。
- ドライランでテストする: 異なる文字ルールを持つプロバイダー間で大規模な同期を行う前に、RcloneViewのドライランモードを使用して、データを転送せずに潜在的なエンコーディングの問題を特定してください。
- 同期ログを確認する: 各同期の後、ジョブ履歴でスキップまたはリネームされたファイルに関する警告を確認してください。これらが蓄積する前に、積極的に対処してください。
はじめに
- rcloneview.comからRcloneViewをダウンロードします。
- リモート設定がデフォルトのエンコーディング設定を使用していることを確認します。
- ドライランを使用して、転送を実行する前にエンコーディングの問題を特定します。
- 必要に応じて、問題のあるファイルの名前を変更するかフィルタリングします。
エンコーディングとUnicodeの問題は、プロバイダー間で同期する際によく見られますが、見過ごされがちです。RcloneViewの自動エンコーディングはほとんどのケースを処理し、上記のトラブルシューティング手順で残りの問題も解決できます。
関連ガイド: