3

古い ColdFusion 4 サーバーから削除され、ColdFusion 8 に基づく新しいシステムに移動された ColdFusion ファイル ライブラリ管理システムがあります。

すべてのファイルとフォルダーは英語、フランス語、スペイン語です。

CF8 で CFDirectory を使用してこれらのファイルとフォルダーを読み込んで表示すると、フランス語とスペイン語のファイルとフォルダーで 2 つの問題が発生しますが、2 つの問題はおそらく関連しています。

  1. アクセント付き文字を含むディレクトリが cfdirectory から返されません。
  2. アクセント付きの文字を含むファイルが上下逆さまに表示されていますか? アクセント付きの文字の代わりに。

サーバーは、SunONE 6.1 Web サーバーを搭載した Solaris 10 です。

アップデート

問題を JVM に絞り込みました。ファイル システムは問題ないように見えますが、基本的な Java ファイル IO を使用する Java クラスを含めると、ファイルとディレクトリで同じ問題が発生します。

JVMでこれを修正する方法についての提案をいただければ幸いです

4

3 に答える 3

1

問題に固有のものは見つかりませんでしたが、バージョン 6 のリリース ノートに次のメモがありました。

cfincludeを使用して、ファイル名が 2 バイトのファイルを含めることはできません。

それが修正されたかどうかの表示はありません。確かではありませんが、「ダブルバイト」のファイル名は、ファイル名にアクセント付きの文字を取得するために使用する必要があると思われるユニコードの使用を指していると思います...そのため、問題に何らかの形で関連している可能性があります.

ファイルの名前を単純に変更してアクセント付きの文字を削除できない場合は、公式のColdFusion バグ データベースにバグを報告することをお勧めします。

于 2009-11-11T17:37:42.360 に答える
0

問題は、CF 4 によって作成されたディレクトリ内の文字がユニコードではないことかもしれません...実際、CF4 がそれらを作成した場合、6 より前の CF はユニコードまたは utf を知らなかったため、そうではないことをほぼ保証できます- 8 地面の穴から。多くの場合、いくつかの奇妙なエンコーディングを使用することになりました。一方、CF6+ は、ほぼすべてが utf-8 であることを前提としています。

于 2009-11-11T23:22:35.227 に答える
0

これはあなたのOSの問題だと思います。

ウクライナ語ロケールの Ubuntu で CF8 dev エディションを使用しており、次のことができます。

2 バイト文字を含むディレクトリを一覧表示します。

<cfset path = "/home/trovich/docs/журнали/" />
<cfdirectory action="list" directory="#path#" name="qGetDirectory" />
<cfinclude template="файл_з_іїґ.cfm">

ファイルфайл_з_іїڑ.cfmには、次のコードが含まれています。

<cfoutput>
<cfloop query="qGetDirectory">
#qGetDirectory.name#<br>
</cfloop>
</cfoutput>

そして、結果は次のとおりです。

Акция
Ї
RING0
root#ua
PHP!nside
Phrack Magazine
phparchitect
Бійцівський Клуб
Bricolage
Друшляк

インクルードは完全に機能します。

PS ブラウザが Unicode 文字を正しくレンダリングすることを願っています。

于 2009-11-11T20:18:23.243 に答える