問題タブ [windows-1252]

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 投票する
3 に答える
40021 参照

java - Java は Windows-1252 を UTF-8 に変換します。一部の文字が間違っています

外部の Microsoft SQL 2008 データベースからデータを受け取ります (MyBatis でクエリを作成します)。データは「Windows-1252」としてエンコードされます。

UTF-8に再エンコードしようとしました:

ほぼすべての文字列が正しくデコードされますが、アクセント付きの一部の文字は正しくデコードされません。

例えば:

  1. 私はこれを受け取りました:Ã�vila
  2. 上記のコードは次のようになります。�?vila
  3. 私は期待しました:Ávila
0 投票する
1 に答える
9099 参照

c# - html 応答コンテンツの文字セットを 1252 に設定する

Windows 1252 でエンコードされたデータ (CSV ファイル) を HTTP 応答で送信しようとしていますが、途中で UTF-8 (BOM なし) に再エンコードされています。データが正しいエンコーディングのままであることを確認するにはどうすればよいですか?

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

ios - iOSを使用して文字列を「windows-1252」にエンコードする方法は?

次の文字列は Android で完全に機能します。これを iOS でエンコードする方法を教えてください。

Android の例:文字列 s = "hhh"; s.getBytes("Windows-1252");

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

php - UTF-8 を ANSI に変換します (windows-1252)

ファイルをANSIでエンコードしながら、ヘブライ語の文字列をファイルに保存しようとしています。残念ながら、すべての試みは失敗しました。

  1. PHP ファイル自体は UTF-8 です。

だからここに私が試しているコードがあります:

これは何らかの理由でfalseを返します。

別の試みは次のとおりです。

これは空の文字列を返します。これは機能しませんでしたが、出力文字セットを windows-1255 DID に変更すると機能しました。なので関数自体は動くのですが、なぜか1252に変換されません。

の前後にこの関数を実行しiconv、結果を出力しました

mb_detect_encoding ($to_file);

エンコード前iconvは UTF-8 です。
エンコーディングの後iconvはASCII(??)

あなたが与えることができるどんな助けにも本当に感謝します

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

oracle - 単一の文字コードから非 ASCII 文字を取得する

NLS 文字エンコーディングが異なるデータベースがいくつかあります。1 つはAL32UTF8(UTF-8) を使用し、もう 1 つはWE8MSWIN1252(Windows 1252) を使用します。はい、これは悪いことです。同じになるように、物事を正すように働きかけます。それまでの間、非 ASCII 文字を含む SQL を作成する必要があります。たとえば、U+00E1Unicode の á を使用する必要があります。UTF-8 では 16 進値0xC3A1で表され、Windows 1252 では 16 進値で表されます0x00E1。(つまり、それらはバイト値です。)

したがって、これにより、UTF-8 データベースで必要なものが得られます。

これにより、Windows 1252 データベースで必要なものが得られます。

ただし、Oracleに1つだけを取得して正しいエンコーディングに変換させる方法を理解できないようです。最終的にどの表現を使用するかはあまり気にしません。同じスクリプトを両方のデータベースで実行する必要があるため、1 つの 16 進数値のみを使用したいだけです。どうやってやるの?

Oracle 11g を使用しています。(残念ながら、今のところ 1 つは 11.1 で、もう 1 つは 11.2 です。)

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

java - Java Windows-1252 間違った文字

VisualBasic Web サービスに送信する文字列を暗号化する RSA アルゴリズムをコーディングしています。残念ながら、VB RSAcryptoserviceprovider は常に「Bad data」という例外を返します。これはエンコードに問題があります。VisualBasic コードは文字列を受け取り、windows-1252 エンコーディングを使用してバイト配列に変換し、復号化します。

私のJavaコードでは、これを使用して暗号化しています:

暗号化された文字列を「system.out.print」すると、�のような奇妙な文字が表示されます。Windows-1252エンコーディングが間違っているということですか?ここで何が間違っていますか?変更できるのは Java コードのみであり、VB は変更できないことに注意してください。

ありがとうございました!

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

utf-8 - Windows-1252 と UTF-8 エンコーディングの間の変換について混乱している

照合順序が windows-1252 に設定されていると主張する従来のデータベースがあり、テキスト フィールドの内容を次のように保存しています。

I’d

従来の Web アプリで表示するI’dと、ブラウザーと同じように表示されます。ブラウザは、UTF-8 のページ エンコーディングを報告します。その変換がどのように行われたかわかりません (オンザフライの検索と置換によるものではないことはほぼ確実です)。これは私にとって問題です。なぜなら、テキスト フィールド (および他の多くの同様のフィールド) を従来のデータベースから新しい UTF-8 データベースに取り込んでいるからです。新しい Web アプリは、新しいデータベースからのテキストを次のように表示します。

I’d

として表示したいと思いI’dます。I’dレガシ アプリがこれをどのように達成できたのかわかりません (Ruby をいじっても、文字列をに変換する方法がわかりませんでしたI’d)。

私はここのどこかで自分自身を結び目にしました。