問題タブ [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.

0 投票する
4 に答える
1462 参照

java - Java ソース ファイルの文字セットと失敗したテスト

まず、説明/解決策を探すのに多くの時間を費やしたと言いたいです。問題のヒントは見つかりましたが、特定の問題を解決する方法はありません。したがって、少なくともいくつかのケースで殴打されたように見えるトピックに関する投稿.

Mime ユーティリティによる適切なエンコード/デコードをテストする Java テスト クラスがあります。テストに使用される文字列はソース ファイルで宣言されており、入力文字列の処理後に assertEquals() を使用して等価性をテストします。次に例を示します。

私のエディター (および Notepad++ や UltraEdit などの他の外部エディター) では、windows-1252 または ISO-8859-1 エンコーディングとして読み取ることを選択した場合、入力文字列が適切に表示されます。UTF-8 では、予期される文字列が "F�ltstr�m" として表示されます。

コンパイルして Windows 7 マシンで実行すると、次の出力が得られます。

予想:S2、F�ltstr�m、PatrikS3

実際の :S2、Fältström、PatrikS3

この動作は、コマンド シェルとコード エディターで発生します。奇妙なことに、Windows XP マシンで動作します。それでも、コマンド シェルで chcp を使用してコードページを確認したところ、どちらの場合も同じ出力が得られました。これを機能させる唯一の方法は、「-encoding windows-1252」を使用してクラスをコンパイルすることですが、これはさまざまな理由で実行したくありません。

質問は次のとおりです。1) XP と Windows 7 の何が違い、これが失敗するのですか? デフォルトのプラットフォーム エンコーディングは変更されましたか? 2) Windows 7 マシンと Linux マシンの両方で動作するように修正するにはどうすればよいですか?

洞察に感謝します!

0 投票する
1 に答える
29932 参照

powershell - PowerShell出力ファイル:エンコードの変更を防ぐ

私は現在、PowerShellを使用して自動化しようとしている検索と置換の操作に取り組んでいます。残念ながら、昨日、コードベース(UTF8とASCII)に異なるファイルエンコーディングがあることを認識しました。これらの検索と置換の操作は別のブランチで行っているため、この段階ではファイルのエンコーディングを変更できません。

次の行を実行している場合、デフォルトのPowerShellエンコーディングがiso-8859-1(Western European(Windows))に設定されていても、すべてのファイルがUCS-2LittleEindianに変更されます。

PowerShellがファイルのエンコーディングを変更しないようにする方法はありますか?

0 投票する
3 に答える
4089 参照

python - Pythonエンコーディング-説明はありますか?

誰かが私にPythonがこの振る舞いをする理由を説明できますか?

説明させてください。

バックグラウンド

Pythonをインストールしていて、ASCIIテーブルにない文字をいくつか使用したいと思います。そこで、Pythonのデフォルトのエンコードを変更します。そのようにして、すべての文字列をファイル.pyに保存します'_MAIL_TITLE_': u'Бронирование номеров',

ここで、辞書のキーを置き換えるメソッドを使用して、動的な方法で文字列をhtmlテンプレートに挿入したいと思います。

私はhtmlページのヘッダーに配置します:

残念ながら、私のhtmlドキュメントは(それらが置き換えられた後)いくつかの間違った文字(変換されていない?誤って変換された?)で私に届きます

それで、私はターミナルを開いて、いくつかの注文をし始めます:

質問

行[7-10]を見てください。変じゃない?私の(6行目)Pythonにdefaultencodingがある場合、utf-89行目とは異なる方法でその文字列(7行目)を変換するのはなぜですか?次に、行[11-14]とその出力を見てください。

今、私は完全に混乱しています!

ヒント

そこで、入力ファイルの端末の方法(以前はISO-8859-1、現在はutf-8 )を変更しようとしましたが、何かが変更されました。

したがって、エンコーディング(明示的なエンコーディング)は入力エンコーディングとは独立して機能します(または、私には思えますが、これに何日も立ち往生しているので、頭がおかしくなったかもしれません)。

解決策はどこにありますか?

との8行目を見るbackgroundhint、作成されたUnicodeのオブジェクトにいくつかの違いがあることがわかります。それで、私はそれについて考え始めました。私は何を結論付けましたか?何もない。おそらく、私の.py(htmlドキュメントに挿入する必要のあるすべてのutf-8文字が含まれている)を保存すると、私のエンコーディングの問題がファイルのエンコーディングにあること以外は何もありません

「本当の」コード

このコードは特別なことは何もしません。htmlテンプレートを開き、文字列に配置し、プレースホルダーをユニコード(utf-8ed?wish yes)文字列に置き換え、インターネットから視覚化される別のファイルに保存します(yes、my "ランディング」ページは、ヘッダーutf-8の仕様に含まれています)。いくつかのファイルに散在しているため、ここにはコードがありませんが、プログラムのワークフローは確かです(トレースすることで)。

最後の質問

これに照らして、誰かが私のコードを機能させるためのアイデアを持っていますか?UNIXファイルエンコーディングについてのアイデア?または.pyファイルエンコーディング?コードを機能させるためにエンコーディングを変更するにはどうすればよいですか?

最後のヒント

プレースホルダーをutf-8オブジェクトに置き換える前に、

私のドキュメントはインターネットで完全に表示されます!

答えてくれた人たちに感謝します。

編集1-開発ワークフロー

これが私の開発ワークフローです。

そのプロジェクトのCVSがあります。プロジェクトはcentosOS上にあります。そのサーバーは64ビットマシンです。コードをEclipse付きのWindows7(64ビット)に開発します。すべての変更は、CVSコミットでのみコミットされます。このコードは、その種のPythonを使用するCentosマシンに適用されます。

私はEclipseをそのように動作するように設定しました:PREFERENCES-> GENERAL-> WORKSPACE-> TEXT FILE ENCODING:UTF-8

Zope / Ploneアプリケーションは同じサーバー上で実行されます:それはいくつかのPHPページを提供します。PHPページは、Zope / Ploneの「サーバー」にあるWSによるいくつかのPythonメソッド(アプリケーションロジック)を呼び出します。そのサーバーは、アプリケーションロジックに直接接続します。

それで全部です

EDIT2

これは、置換を行う関数です。

0 投票する
4 に答える
76470 参照

utf-8 - ファイルのエンコードを確認するにはどうすればよいですか?

VIMで作成したPHPファイルがありますが、どちらがエンコードされているのかわかりません。

ターミナルを使用し、コマンドfile -bi foo(私のオペレーティングシステムはUbuntu 11.04)でエンコードを確認すると、次の結果が得られます。

text/html; charset=us-ascii

しかし、geditでファイルを開くと、そのエンコーディングはUTF-8であると表示されます。

どちらが正しいですか?ファイルをUTF-8でエンコードしたい。

私の推測では、ファイルにBOMがなく、コマンドfile -biがファイルを読み取り、UTF-8文字を検出しないため、ASCIIであると想定されますが、実際にはUTF-8でエンコードされています。

0 投票する
2 に答える
29855 参照

java - Javaで.txtファイルの文字セットエンコーディングをチェックする方法はありますか?

Java で Unicode または UTF-8 でエンコードされたテキスト ファイル (.txt) を確認する方法はありますか?

0 投票する
2 に答える
10113 参照

file - IntelliJIDEAでデフォルトのシステムファイルエンコーディングを設定する方法

IDEAにデフォルトのシステムエンコーディングを使用させたいのですが、代わりに[設定]>[ファイルエンコーディング]で設定されたものを使用します。これはUTF-8に設定されています。

私のアプリケーションは、Windowsでデフォルトのシステムエンコーディングを使用するEclipseで正常に実行されますが、IDEAを介してアプリケーションを実行すると、一部のxmiファイルの読み取りに問題があります。

0 投票する
0 に答える
169 参照

android - 中国語のファイルエンコーディング

英語、チェコ語、および他のいくつかのヨーロッパ言語にローカライズされた Android アプリケーションがあります。中国語、日本語、韓国語、ロシア語のローカリゼーションを追加したいと考えています。ファイルのエンコーディングなどに関して、それを行う特別な方法はありますか?

0 投票する
2 に答える
1587 参照

python - Python で open(filename) または C で fopen(filename) を使用する場合、ファイルが保存されるエンコーディングは何ですか?

ランタイム環境: Python 2.7、Windows 7

注: PYTHON ソース コードによって生成されたファイルのエンコーディングについて話している (PYTHON ソース ファイルのエンコーディングについては話していない)。救われました。

文字列( )にASCII以外の文字が含まれていない場合content = 'abc'、ファイル( file.txtPYTHONソースファイルではなく)はfp.close()の後にANSIエンコーディングで保存されます。PYTHONファイル(およびANSIエンコーディング形式で保存されます)の内容は次のとおりです:

ただし、string( ) に ASCII 以外の文字が含まれているcontent = 'abc莹'場合、 file( )file.txtは の後に UTF-8 エンコーディングで保存されfp.close()ます。このときの PYTHON ソースファイルの内容は以下のとおりです。file.txt#encoding=gbk

それがこのように振る舞うという証拠はありますか?

0 投票する
2 に答える
3202 参照

visual-studio-2012 - VS2012宣言「utf-16」のエンコーディングがドキュメント「utf-8」と一致しません

Visual Studio 2012を開くと、「VisualStudio宣言「utf-16」のエンコーディングがドキュメント「utf-8」のエンコーディングと一致しません」というメッセージが表示されます。

VisualStudioエラーダイアログ

なぜこれが起こっているのか誰かが知っていますか?または、どのようなトラブルシューティングを行う必要がありますか?

0 投票する
1 に答える
2735 参照

python - 混合エンコーディングのファイル-Python

エンコードが混在するファイルがいくつかあります。UTF-8とUTF-16LEだと思います。それはいくつかの英語の文字の混合ですが、ほとんどは漢字です。目標:Pythonを使用してファイルをすべてUTF-8に変換します。'\n'は改行である必要があります。

同様の質問への答えはそれが役立つように思われました。残念ながら、(私は)UTF-16は可変長エンコーディングではないため、最初にUTF-8を使用してファイルをデコードしようとしたが、UTF-16にフォールバックすると、次のエラーが発生します。

UnicodeDecodeError:'utf16'コーデックは位置0のバイト0xffをデコードできません:切り捨てられたデータ。

ファイルデータは以下の通りです。私はしばらくそれをいじってみましたが、何も機能しないようです。よくわからないこともたくさんあります。ファイルの先頭にBOMがあることは知っていますが、残りのエンコーディングの問題をよく理解していません。ご協力いただきありがとうございます!

open関数を使用して%rを出力します。

MSWordで「unicode」として開いたときのファイルテキスト: