3

これと同様の質問があります 。ColdFusion、CFDirectory、および 満足のいく回答が得られなかったフランス語です。

Coldfusion 9 から Coldfusion 11 にアップグレードしました。これまでのところ、次の点を除いて大きな問題はありません。

CFdirectory を使用して、名前に非 ASCII 文字 (アクセント、ウムラウトなど) を含むファイル名を表示すると、ファイル名が正しい UTF の代わりに置換文字で表示されます。たとえば、L'État, c'est moi.pdf という名前のファイルは、L�����tat, c���est moi.pdf と表示されます。

Coldfusion バージョン以外は何も変更されていないため、これは Coldfusion の問題であると確信しています。Coldfusion 9 では、アクセント付きの同じファイル名を一覧表示する場合、CFdirectory は正常に機能しました。当方のOSはRedhat 7.0で、ファイル名も端末上でlsコマンドで正しく表示されています。また、PHP が「readdir」コマンドでディレクトリを正しく読み取ることができるかどうか、ファイル名が正しくレンダリングされるかどうかを確認するための簡単な PHP スクリプトも作成しました。

したがって、これは Coldfusion 11 の問題に違いないと思います。Coldfusion 管理者サーバー インターフェイスから JVM 設定に -Dfile.encoding=UTF-8 -Dencoding=UTF-8 パラメーターを追加しましたが、違いはありませんでした。

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

使用されるコードの例は次のとおりです。

<cfdirectory
action="list"
directory="#ExpandPath( './' )#/pdfs"
listinfo="name"
name="qFile"
/>  
<cfdump
var="#qFile#"
label="All Files"
/>

これは cfdump の出力です。

4

4 に答える 4

1

cfprocessingdirectiveタグを設定してみましたか?

<cfprocessingdirective pageencoding="utf-8">

CF 11 WikiDocs

また、Chrome Network Inspector で、エンコーディングが正しく返されていることを確認します。例えば:

Content-Type:text/html; charset=UTF-8
于 2014-11-21T09:06:16.583 に答える
0

環境が Linux の場合、クリーンな UTF-8 構成が必要です。

こちらをご覧ください。

私は同じ問題を抱えていました。ファイルに~/.bashrc次の行を追加するだけです。

export LC_ALL=en_US.UTF-8 
export LANG=en_US.UTF-8 
export LANGUAGE=en_US.UTF-8

その後、Coldfusion サーバーを再起動することを忘れないでください。

sudo /opt/coldfusion11/cfusion/bin/coldfusion restart
于 2016-03-17T13:40:18.240 に答える
0

参照してください: CFQUERY から特定の文字が SQL Server に正しく挿入されないのはなぜですか?

ファイルがエンコード Unicode UTF-8 で保存されていることを確認してください。

また、JVM 引数がそれを処理することも確認してください。[管理] > [サーバー設定] > [Java および JVM]。引数に「 -Dfile.encoding=UTF-8 」を追加します。

ここに画像の説明を入力

于 2016-09-27T20:35:36.367 に答える
0

同じ問題があり、
Linux でバグ /.bashrc LC_ALL="de_DE.UTF-8" が解決され、変更後、coldfusion アプリケーションが再起動されました。

于 2020-11-05T13:00:48.163 に答える