ColdFusion 11より、ファイルエンコーディングに対する処理が変更され、エンコードの自動判別が行われるようになりました。判別方法については、昨年11月にアメリカで開催された ColdFusion Summit で紹介された下記のスライドを参照下さい。
http://www.slideshare.net/ColdFusionConference/coldfusion-internals/15
(slideshare: ColdFusion Internals 15ページ目)
これまでのColdFusion MX6.1 ~ 10 では、エンコードの自動判別は行われず、各ファイル内で<cfprocessingdirective pageencoding="エンコード"> タグでエンコードを指定していない場合、 「BOM付き UTF-8」か、「Java ファイルエンコード」のどちらかでないとファイルのエンコードが正しく認識されず文字化けが発生する要因となっていました。
ColdFusion 11ではエンコードの自動判別により、ファイルに<cfprocessingdirective>タグによるエンコードを指定していなくても、比較的自由なエンコードでファイルが作れるようになっていますが、反面、新たな問題が生じています。それは、主にWindows環境で使用されている Shift_JIS でファイルを作成した場合です。
ColdFusionの内部エンジンであるJavaにも Shift_JISのエンコードが備わっていますが、Shift_JISを指定すると、日本語の特殊文字などで文字化けを起こします。これは Windows環境で使用されている Shift_JISには、Shift_JISを拡張した「Windows-31J」と呼ばれるWindows標準文字セットであるのに対し、Javaでは Shift_JIS と Windows-31J(MS932) とが明示的に区別され、Shift_JISには日本語の特殊文字が含まれていないためです。
(※このあたりの情報は、下記のサイトが参考になると思います)
http://www.atmarkit.co.jp/ait/articles/0501/14/news118.html
従って、日本語の特殊文字も含みたい場合 Java では「Windows-31J(MS932) 」を指定する必要があります。しかし、ColdFusion 11のエンコードの自動判別では、このShift_JISとWindows-31J(MS932)とを区別することができず、「Shift_JIS」として判別してしまいます。従って<cfprocessingdirective>タグによるエンコードを指定していない Shift_JIS で作られたファイルを ColdFusion 11で処理すると、日本語特殊文字が文字化けを起こします。
対策としては下記のいずれかをご検討下さい
2016年11月17日追記
(補足)リクエスト済みのColdFusionページは、(デフォルトのキャッシュ設定で)実行ファイルがメモリとディスクにキャッシュされるため、上記のJVM引数の設定を行ってColdFusionを再起動しても、設定変更前のキャッシュをそのまま利用してしまい、結果的に文字化けが解消されない場合があります。
キャッシュの再作成が必要な場合は、下記のいずれかを行って下さい。
※記事のカテゴリを「ColdFusion 11情報」から「技術情報」に変更しました。
記事公開日:2015年02月18日
最終更新日:2016年11月17日
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.
Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.