問題タブ [file-encodings]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - new String(byte [])は、データベースに入れたときとデータベースから取り出したときで異なる結果をもたらします
バイト配列をデータベースに保存する前に、その出力を出力するnew String(data)
と「foobar」のような読み取り可能な文字列が返されますが、データベースから引き出した後は、new String(data)
「9238929384739427349327...」のようなぎこちない文字列のように読み取られます。ここには非常に多くの部分があり、それらすべてをリストアップしようと思います。eclipselinkを使用していて、データ列が定義されています。
このコードを実行すると:
を出力しますwindows-1250
。
私のデータベースは次のように定義されています:
私はまた、このように定義されたDBでこれを試しました:
そして、問題はまだ発生します。
何が起こっているのかというと、私のデータベースは私のappserverとは異なるエンコーディングを持っていると思います。データベースに入れて再度引き出すと、間違った方法でデコードされるため、ぎこちないように見えます。私はそこに何かをしていますか?
今、この問題の解決策になると、私は少し混乱しています。私がすべきことは、appserverのファイルエンコーディングをデータベースと同じになるように変更することだと思います。Glassfish2.1.1を使用しています。ロケールに移動application server -> advanced -> domain attributes
して「UTF8」または「UTF-8」に設定すると、再起動が必要であると表示されます。Glassfishを再起動した後も、そのフィールドは空白のままで、エラーが発生します。多分それは財産を保存していないと思います。手動で構成ファイルに入れましたが、どこに何を入れるかわかりません。
または、ENCODING ='WIN1250'を使用してデータベースを作成しようとしましたが、作成すると、LC_CTYPEが「WIN1252」である必要があると表示されます。LC_CTYPEを「WIN1252」に設定すると、エンコーディングが存在しないと表示されます。
私はこれに多くの時間を費やしています、私はここで何かに取り組んでいるかどうか知りたいです。「appserverとdbの間の非同期エンコーディング」の私の理論は正しいように聞こえますか、それとも私は赤いニシンを追いかけていますか?誰かが私がglassfish2.1.1のこの設定を変更する方法を理解するのを手伝ってくれるなら、それも非常に役に立ちます。ありがとう
編集:人々は私が文字列を生のバイトとして保存している理由を尋ねています。それは私がしていることではありません。生のバイトが画像、PDF、またはバイナリを表す場合もあれば、テキストを表す場合もあります。私のテストでは、プレーンテキストの文字列を挿入して引き出し、正しく保存されていることを確認しています。このテストは、Linux上にあるCIサーバーで合格します。
EDIT2:生のバイナリ入力と生のバイナリ出力を表示するように求められました。
予想:[116、104、105、115、32、105、115、32、109、121、32、97、116、116、97、99、104、109、101、110、116、32、97、115 、32、97、32、83、116、114、105、110、103]
実際:[60、54、56、54、57、55、51、50、48、54、57、55、51、50、48、54、100、55、57、50、48、54、49、55 、52、55、52、54、49、54、51、54、56、54、100、54、53、54、101、55、52、50、48、54、49、55、51、50、48 、54、49、50、48、53、51、55、52、55、50、54、57、54、101、54、55]
私は、Macを使用している同僚にバイトをチェックする同じテストを行い、彼に合格しました。
vb.net - vb.netの半分のサイズの行ごとにテキストファイルをコピーしますか?
6 GB のテキスト ファイル (SQL スクリプト) の特定の行を変更しようとしています。だから私はそれを読み込んでIO.StreamReader.ReadLine
新しいファイルに書き込みますIO.StreamWriter.WriteLine
. 行が特定の条件に一致する場合は、それを修正してから書きます。
問題は、結果のファイルが元のファイルのサイズのちょうど半分 (1.999582...) になることです...
次を使用してエンコーディングが同じであることを確認しようとしています:
sw = New IO.StreamWriter(NewFilepath, False, sr.CurrentEncoding)
しかし、違いはありません。新しいファイルは古いファイルの半分のサイズです...
java - Puppet が Tomcat を起動すると中国語の文字が正しく表示されず、手動で起動すると動作する
それでは、ここで楽しいものを...
Unix ファイル システムにファイルを保存する Fatwire を介したファイル アップロードがあります。Fatwire は内部で Tomcat を使用しています。
Puppet エージェントは、jar のデプロイと再起動を処理します。
ファイル名に中国語の文字が含まれる画像ファイルをアップロードすると、ファイル システムに保存されているファイルに恐ろしい ??? が表示されます。適切な文字の代わりに。
Puppet がデプロイしたのと同じ jar ファイルを使用し、手動で再起動するだけで、完全に機能します。
私はすでに -Dfile.encoding=UTF-8 を JAVA_OPTS および CATALINA_OPTS 設定に設定しています。
ヘルプ?
php - DOS 文字セット (コード ページ 437) を使用してエンコードされたファイルを開くには、Netbean プロジェクト プロパティでどのプロジェクト エンコードを設定する必要がありますか?
問題は、Netbean プロジェクト プロパティの使用可能なエンコードのドロップダウン リストに、DOS 文字セットの名前のいずれかと一致するエンコードが表示されないことです。Netbean PHP をインストールしましたが、違いはないと思います。
android - raw フォルダー内のテキスト ファイル内の分割記号
Android の .txt ファイルに ÷ があります。この分割記号が Android デバイスで表示されると、「�」が表示されます。
さらに悪いことに、私のラップトップにはキーボードに分割記号がありません。ウィキペディアの上記の記号を使用しました。
どうすればこれを解決できますか。
r - RがUTF-8ヘッダーをテキストとして読み取るのはなぜですか?
Excel テーブルをテキスト (*.txt) として保存しました。残念ながら、Excel ではエンコーディングを選択できません。そのため、メモ帳 (ANSI として開く) で開き、UTF-8 として保存する必要があります。次に、Rで読むと:
「XUFEFF.」で始まる最初の列の名前が表示されます。これらは、ファイルがUTF-8形式であることをプログラムに伝えるために予約されているバイトであることを知っています。したがって、テキストとして表示されるべきではありません。これはバグですか?または、いくつかのオプションがありませんか?前もって感謝します!