Power Automateで日本語のファイル名を扱う際、意図せず文字化けが発生することがあります。これは、クラウドフローやデスクトップフローでファイル名を指定するときに、エンコード方式やコネクタの仕様が原因となるケースがほとんどです。本記事では、文字化けが起きたときに最初に確認すべきポイントと、具体的な修正手順を紹介します。実際の業務で遭遇するパターンをもとに、原因の切り分けから解決までを体系的にまとめました。
【要点】この記事で確認すること
- 最初に見る場所: Power Automateのアクションで「ファイル名」を指定する入力欄のエンコード設定(UTF-8 / Shift_JIS)や、コネクタのプロパティにある「エンコード」オプション。
- 切り分けの軸: エンコード起因か、コネクタの制限起因か、それともファイルシステム(ローカル/ネットワーク)の文字コード設定起因か。まずはテストフローで簡単なファイル名を試す。
- 注意点: 会社PCのPower Automate Desktopでエンコードを変更する場合、管理者権限が必要な場合がある。また、クラウドフローのコネクタは組織のポリシーで使用可否が制限されているため、事前に管理者へ確認することを推奨する。
ADVERTISEMENT
目次
日本語ファイル名が文字化けする主な原因
Power Automateで日本語ファイル名が文字化けする原因は、大きく分けて3つあります。それぞれの特徴を理解することで、素早く対処できるようになります。
エンコード方式の不一致
Power Automateのアクション内部では、ファイル名を文字列として扱います。この文字列のエンコード方式が、実際のファイルシステムやサービス(SharePoint、OneDriveなど)と合っていないと文字化けが発生します。特に、UTF-8とShift_JISの混在がよくあるパターンです。Windowsのファイルシステムは通常Shift_JIS(正確にはWindows-31J)で動作し、一方クラウドサービスはUTF-8が標準です。Power Automateクラウドフローでは、アクションのプロパティで「テキストのエンコード」を指定できるものがあります。デフォルトがUTF-8になっている場合、ローカルのShift_JIS環境とズレて文字化けします。
コネクタの制限や既定動作
使用するコネクタによって、ファイル名のエンコード処理が異なります。たとえば「ファイルシステム」コネクタはローカルフォルダを操作するため、OSのエンコードに依存します。「SharePoint」コネクタは内部でUTF-8に変換するため、Power Automate側で指定したエンコードと二重変換が起きることがあります。また、「Google Drive」など他社サービスとの連携では、ファイル名に利用可能な文字コードが限定されているケースもあります。
ファイル名に含まれる特殊文字
日本語のファイル名に使える文字でも、Power Automateの内部処理で予約語や禁止文字と認識されるものがあります。例えば、全角の「 」(スペース)や「/」(スラッシュ)などが含まれていると、自動的に置換されたり、文字化けの原因になります。また、濁点や半濁点を含む文字(「が」「ぱ」など)が合成済み文字と分離済み文字の違いで表示が崩れることもあります。
エンコード設定の確認と変更手順
文字化けが発生した場合、最初にエンコード設定を確認します。Power Automateにはクラウドフローとデスクトップフローがあり、それぞれ確認方法が異なります。
クラウドフローでエンコードを設定する
- Power Automateポータル(make.powerautomate.com)にサインインし、該当フローを編集画面で開きます。
- 文字化けが発生するアクション(例:「ファイルの作成」「ファイルのコピー」など)をクリックして、プロパティを表示します。
- 「詳細設定」または「詳細オプション」を展開し、「テキストのエンコード」または「エンコード」という項目を探します。
- プルダウンから適切なエンコードを選択します。通常は「UTF-8」または「Windows-1252(Shift_JIS)」を選びます。テストファイルで確認しながら最適なものを選んでください。
- 変更後、フローを保存し、テストを実行して文字化けが解消されたか確認します。
- もし該当項目がない場合、コネクタの種類によってはエンコード指定ができないものもあります。その場合は、別のコネクタに変更するか、フロー内でエンコード変換アクションを追加します。
デスクトップフローでエンコードを設定する
- Power Automate Desktopアプリを起動し、該当フローを編集画面で開きます。
- ファイル名を扱うアクション(例:「ファイルのコピー」「フォルダ内のファイル一覧取得」など)を見つけます。
- アクションのプロパティウィンドウで、「エンコード」または「ファイル名エンコード」というドロップダウンを探します。
- 「UTF-8」「Shift_JIS」「システム既定」などのオプションが表示されます。現在のWindowsのシステムロケールに合わせて「システム既定」を選ぶか、明確にTestingでどちらが正しいか確認してください。
- 変更後、フローを実行して結果を確認します。デスクトップフローでは管理者権限が必要な設定もありますので、エラーが表示されたら管理者に相談してください。
コネクタの種類と設定による違い
コネクタごとにファイル名のエンコード動作が異なります。以下の比較表を参考に、使用中のコネクタに合った対策を取ってください。
| コネクタ | 既定のエンコード | エンコード変更可能? | 文字化け発生しやすい状況 | 推奨設定 |
|---|---|---|---|---|
| ファイルシステム | システム既定 (Shift_JIS) | 可 (アクションのプロパティ) | クラウドフローから参照するとき、Power Automate側のエンコードと不一致 | システム既定かShift_JISを指定 |
| SharePoint | UTF-8 | 不可 (アクションによる) | ローカルからアップロードするファイル名がShift_JISの場合 | フロー内でファイル名をUTF-8に変換してから渡す |
| OneDrive for Business | UTF-8 | 不可 | SharePointと同様 | 変数でエンコード変換アクションを追加 |
| SQL Server | 接続文字列依存 | 条件により可 | ファイル名をデータベースから取得し、そのままファイル操作に使うと文字化け | データベースの照合順序を確認し、必要なら変換 |
| Google Drive | UTF-8 | 不可 | Windowsからアップロードするファイル名がShift_JISのまま | 事前にURLエンコードして渡す |
文字化けが発生するシナリオ別の対処法
実際の業務で遭遇しやすいシナリオをいくつか挙げ、それぞれの対処法を説明します。
これはよくあるケースです。Power Automate Desktopでローカルファイルを読み込み、クラウドフロー経由でSharePointにアップロードするフローを組んだときに発生します。原因は、ローカル側のファイル名がShift_JISでエンコードされているのに対して、クラウドフローがUTF-8として解釈するためです。対策として、デスクトップフロー内でファイル名をUTF-8に変換してからクラウドフローに渡す方法が有効です。具体的には、「テキストのエンコード変換」アクションを使い、変換元をShift_JIS、変換先をUTF-8に設定します。そして、変換後の文字列をクラウドフローのトリガーに渡すようにします。
シナリオ2:メール添付ファイルのファイル名が文字化け
Outlookなどからメールをトリガーにしたフローで、添付ファイルのファイル名が文字化けすることがあります。これは、メールのヘッダーに使われているエンコード方式(多くの場合Base64やQuoted-Printable)がPower Automateで正しくデコードされないためです。この場合、メールの添付ファイルを取得するアクションの後に、「デコード」系のアクションはありません。代わりに、「ファイル名のエンコード」アクション(デスクトップフロー限定)を使用するか、クラウドフローでは「ファイル名を変数に格納」するときに、一度Base64デコードしてから使うと改善します。具体的には、添付ファイルの「名前」プロパティを直接使わず、一度「コンテンツのデコード」アクションで処理します。
シナリオ3:フロー内で作成したファイル名に日付や連番を入れると文字化け
動的にファイル名を生成する場合、関数の戻り値のエンコードが原因で文字化けが起きることがあります。たとえば、formatDateTime関数で日本語の曜日を出力すると、Shift_JIS環境で文字化けを起こす可能性があります。この対策として、ファイル名作成時に使用する文字列をすべてUTF-8に統一するか、または「文字列の置換」アクションで特定の文字を英数字に置き換える方法があります。また、Power Automateの「式」の中で、直接エンコード関数を使うことはできないため、アクション側でエンコード変換を挟みます。
失敗パターンと注意点
文字化け対応でよくある失敗例を紹介します。これらを避けることで、無駄な作業を減らせます。
エンコードを闇雲に変更する
原因を特定せずにエンコードを切り替えても、一時的に直ったように見えるだけで別の場所で再度文字化けが発生します。必ずテストファイルで再現させながら、どのエンコードが適切か判断してください。たとえば、ファイル名に「表」という文字が含まれている場合、Shift_JISとUTF-8ではバイト列が全く異なります。意図した文字が正しく表示されるかを確認するのが確実です。
コネクタのエンコード指定を見落とす
「ファイルシステム」コネクタのアクションにはエンコード指定項目があるのに、気づかずにデフォルトのままで使っているケースです。この項目はアクションのプロパティの中にあり、初期状態では折りたたまれていることが多いです。必ず「詳細設定」を展開して確認してください。また、コネクタによってはエンコード指定が存在しないものもあるため、その場合は別の方法を考える必要があります。
管理者に相談せずにレジストリを変更する
インターネットの情報で「システムのロケールを変更する」という対策が見られますが、会社のPCでは設定変更が禁止されている場合がほとんどです。管理者権限が必要なうえ、他のアプリケーションに影響を与える恐れもあります。必ずIT管理者に確認してから対応してください。Power Automate Desktopでも、システム全体のエンコードを変えるのではなく、アクション単位で変更することをおすすめします。
管理者に確認すべき設定項目
文字化け問題の解決には、管理者の協力が必要な場合があります。以下の項目を事前に確認しておくと、問い合わせがスムーズです。
- Power Automateのコネクタ使用ポリシー: 組織によっては特定のコネクタ(ファイルシステムなど)が無効化されていることがあります。管理者に使用可否と代替コネクタの有無を確認してください。
- SharePoint/OneDriveのファイル名制限: SharePoint Onlineではファイル名に使用できない文字が定められています。日本語の一部の文字(例:チルダ、パイプなど)が禁止されている場合、Power Automate側で自動的に別の文字に変換されることがあります。管理者にテナントの設定を確認してもらいましょう。
- Power Automate Desktopのインストール設定: デスクトップフローの実行には、マシンにPower Automate Desktopのランタイムがインストールされている必要があります。インストール時のロケールやエンコード設定が標準でない場合、文字化けの原因になります。管理者にインストール時の設定を確認してください。
- データ損失防止(DLP)ポリシー: 組織のDLPポリシーにより、クラウドフローとデスクトップフローの間でデータの受け渡しに制限がある場合があります。これにより、エンコード変換後の文字列が正しく渡されない可能性があります。ポリシーを一時的に緩めてテストできるか、管理者に相談しましょう。
よくある質問(FAQ)
Q1. Power Automateのアクションに「テキストのエンコード」がない場合はどうすればいいですか?
そのコネクタではエンコード指定ができない可能性が高いです。代替方法として、Power Automate Desktopでフローを組むか、クラウドフロー内で「変数の操作」アクションを使って文字列をエンコード変換する必要があります。たとえば、Base64エンコード/デコードの式を組み込むことで対応できますが、複雑な処理が必要になる場合もあります。
Q2. 文字化けしているファイル名を修復する方法はありますか?
すでに文字化けしたファイル名を元に戻すのは難しいですが、Power Automate Desktopを使えば、ファイル名の文字コードを解析して復元するフローを作成することは可能です。ただし、完全な復元は保証できません。予防策として、ファイル名を作成する段階でエンコードを統一することをおすすめします。
Q3. エンコードをUTF-8に統一すればすべて解決しますか?
多くの場合はUTF-8に統一することで解決しますが、古いWindowsシステムや一部のクラウドサービスではShift_JISを前提としているものもあります。また、ファイル名にASCII以外の文字が含まれる場合、UTF-8でも正しく表示されない環境(例:EMSや一部のバックアップシステム)もあるため、必ず対象システムの仕様を確認してください。
Q4. デスクトップフローとクラウドフローで同じファイル名を使うとき、エンコードはどちらに合わせるべきですか?
両方のフローが正しく動作するためには、内部で使用する文字列のエンコードを統一する必要があります。一般的には、クラウドサービス側の標準であるUTF-8に合わせ、デスクトップフロー内で変換を行うのが安全です。ただし、デスクトップフローからクラウドフローへデータを渡す際には、自動変換が行われないため、明示的に変換アクションを入れてください。
Q5. 管理者に相談する際、どのような情報を伝えればスムーズですか?
文字化けが発生するファイル名の具体例(実際のファイル名と文字化け後の表示)、使用しているコネクタの種類、フローのスクリーンショット(アクションの設定部分)、そしてテスト結果を共有すると、管理者が原因を特定しやすくなります。また、Power Automateのバージョン情報や、発生するタイミング(特定の時間帯や操作後など)も併せて伝えると良いでしょう。
まとめ
Power Automateで日本語ファイル名の文字化けが発生した場合、まずはエンコード設定とコネクタの仕様を確認することが重要です。原因をエンコードの不一致、コネクタの制限、特殊文字の影響の3軸で切り分けることで、効率的に対処できます。アクションのプロパティでエンコードを明示的に指定するか、フロー内で変換処理を挟むことで、多くのケースは解決します。管理画面の設定変更が必要な場合は、必ずIT管理者に確認してから行ってください。文字化けが続く場合は、さらに詳細なログを取得し、Microsoftのサポートに問い合わせることも検討しましょう。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
