問題タブ [cp1250]
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.
winapi - Gcc、WinAPI、および 1250
ポーランド出身です。書くのは簡単です
洗練された文字 (ASCII 文字列) を使用 - チェックしたところ、Windows-1250 コード ページとしてエンコードされています。winapi でこれらの文字列を使用すると (SetTitle 関数のように)、問題なく動作します.winapi と gcc はそれをすべて正しく処理しているようです..
私が確信していないことの1つは、この方法で作成されたwinapiアプリが、世界中のすべてのWindowsシステムに配布されたときに問題なく動作するかどうかです..
それを認めたり否定したり(そしてより多くの情報を提供したり)する人はいますか?
tnx
java - Java は、標準の文字列を CP1250 に変換します。各文字は 1 バイトのみです。
標準文字列を CP1250 に変換する必要があり、各文字に 1 バイトのみを使用します。たとえば、ポリッシュ char 'ł' は 2 バイトの Unicode ではなく 0xB3 に解析する必要があります。私がそのようなことをしようとしているとき:
次に、s.getBytes(); を実行している場合。文字よりも多くのバイトを返します。「ł」は Unicode のように 2 バイトです。すべての文字列を変換し、そこからバイトを正確に CP1250 コードに取得する必要があります: https://pl.wikipedia.org/wiki/Windows-1250#Tablica_kod.C3.B3w
php - PHP でのエンコード変換 (ISO-8859-1、UTF-8、CP1250)
CSV ファイルのデータを操作したいのですが、文字が正しく表示されないことに気付きました。エンコーディングを変換するために何百万もの方法を試しましたが、何も機能しません。MacOS、PHP 7.4.4 で動作します。
fgets()
またはハンドル変数を実行した後fgetcsv()
、これを取得します(例では2行/行)。
それは多かれ少なかれ正しいチェコ語ですが、文字č
は に取って代わられè
、ř
に取って代わられø
、どちらもチェコのアルファベットの一部ではありません。私は確信しており、ファイル内に置き忘れた文字がさらに増えると確信しています。
ウィキに関する限り、この文字セットにはチェコ語のアルファベットが含まれていないため、悲しいことfile -I path/to/file
です。file: text/plain; charset=iso-8859-1
次のコマンドはどちらも、間違った文字を変換しませんでした:
mb_convert_encoding($line, 'UTF-8', 'ISO8859-1')
iconv('ISO-8859-1', 'UTF-8', $line)
iconv('ISO8859-1', 'UTF-8', $line)
ISO-8859-1では、ø
レターに code があることに気付きました00F8
。Windows-1250 (チェコ語の aplhabet を含む) には正しい文字ř
とコード0159
がありますが、どちらも先頭に00F8
. 文字č
と同じでè
、どちらも code が前に付いています00E7
。私はエンコーディングを深く理解していませんが、ファイルは Windows-1250 でエンコードされているようですが、インタープリターはエンコーディングが ISO-8859-1 であると認識し、元の文字/コードの代わりに文字を取得します。
しかし、どちらの変換 (ISO-8859-1 => Windows-1250、ISO-8859-1 => UTF-8 またはその他の方法) も機能していません。
これを解決する方法を知っている人はいますか?ありがとう!