問題タブ [latin1]
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.
encoding - ファイルエンコーディングを理解する
日食では、これが書かれている場所があるファイルがあります:
Eclipse の [編集] メニュー -> [エンコーディングの設定] で、次のように表示されます。
ここで、同じダイアログ ボックスを使用してエンコードを UTF-8 に変更すると、テキストが次のように変わります。
私が知っているのは、これが起こっていなければ、私のウェブサイトは正常に機能していたということだけです. なぜこれが起こっているのですか、これを防ぐために何をすればよいですか?
私はエンコーディングについていくらかの知識を持っています: ã と nbsp の謎は、 すべてのソフトウェア開発者が Unicode と文字セットについて絶対に、積極的に知っておく必要がある絶対的な最小値を説明しました (言い訳はありません!)が、なぜこれが起こっているのか理解できません. それを説明するためだけに、バイトレベル(ファイルの保存方法)に気軽に行ってください。
更新:これが私が理解していることです:ファイルがエンコードされている場合、latin-1
すべての文字はバイトであり、. である必要があります
hex(32)
。これをutf-8に変換すると、まだ残ってhex(32)
おり、それは間違いなく. これにより、latin-1 では2 バイトの組み合わせに
ないと私は信じてい
hex(32)
そんなことがあるものか?
mysql - MySQL のエクスポート/インポートで特殊文字が失われる
MySQL 3.23.58 データベースを、5.5.19 を実行している別のサーバーに移動しようとしています。
古いものにはlatin1エンコーディングが指定されており、基礎となるデータが実際に正直にlatin1であると私が知る限り。私は多くのことを試しましたが、主に次のとおりです。
- mysqldump と latin1 エンコーディング フラグを使用してターミナルからエクスポートします。
- MySQL 5 との互換性のために、vim で編集して「TYPE=InnoDB」を「ENGINE=InnoDB」に変更します。
- ターミナルから新しいサーバーにインポートします。
古いサーバー (Mac の Sequel Pro または PC の MySQL Query Browser) を参照すると、特殊文字が常に正しく表示されるとは限りませんが、そこにはあります (バイナリを 16 進数で調べます)。(いずれにせよ、PHP Web アプリで動作します。)
新しいサーバーをブラウズすると、すべての特殊文字が疑問符に置き換えられたように見えます。間違ったエンコーディングを指定すると、特殊文字が疑問符 (または �) として表示されることがあります。しかし、これらは、バイナリ レベルで正真正銘のエンコードされた ASCII クエスチョン マークであるように見えます。特殊文字 (主に波状の引用符とダッシュ) は、エクスポート/インポートで失われたか、破棄されたようです。
理由はありますか?
エンコーディングにはさまざまな問題があり、さまざまな問題が発生する可能性があることを私は知っています。私はこれについて数日間(ここと他の場所で)読んでいて、すべての適切な文字エンコーディングを設定しようと試み、UTF-8を試し、キャストと変換を試み、Sequel Proのエクスポート/インポートを試みました(端末ではなく)など。私は困惑しています。
ios - 直接コメントされたエンコードされた文字列がアラビア語に変換されないのはなぜですか?
直接コメントされたエンコードされた文字列がアラビア語に変換されないのはなぜですか? アラビア語をハードコードすると、エンコードしてから正しくデコードできますが、静的にエンコードされた文字列をアラビア語で読み取れないのはなぜですか?
返信ありがとうございます。はい、「staticEncodedString」のデコード中にデータを失います。しかし、次の文字列をデコードしてアラビア語に戻すだけです。
java - Latin-1 以外のすべての文字を置換する API またはメソッド
私はサードパーティの API / Web サービスを扱っていますが、XML では latin-1 文字セットのみが許可されています。文字列内のすべてのラテン語以外の文字を見つけて置き換える既存の API / メソッドはありますか?
例: ケビン
とにかくそのケビンを作ることはありますか?
python - ISO8859-1ファイル名がデコードされない
PythonミルターのMIMEメッセージからファイルを抽出していて、次のような名前のファイルで問題が発生しています。
=?ISO-8859-1?Q?Certificado = 5FZonificaci = F3n = 5F2010 = 2Epdf?=
この名前をUTFにデコードできないようです。以前のISO-8859-1の問題を解決するために、私はすべてのファイル名をこの関数に渡し始めました。
このファイル名に到達するまで機能していました。
アイデアはいつものように高く評価されています。
perl - Perl での UTF-8 の適切な処理
私は、(おそらく) Latin-1 (ISO 8859-1) でエンコードされたファイルを受け取りました。これには、いくつかの変換とデータ マイニングが必要です。出力は UTF-8 であると想定されており、Perl でのエンコード変換について見つけられることはすべて試しましたが、どれも使用可能な出力を生成しませんでした。
そもそも何の役にも立たないことはわかってuse utf8;
います。Encode
私は有望に見えたパッケージを試しました:
binmode(STDOUT, ":utf8");
考えられるあらゆる組み合わせで試してみましたopen FILE, '<:encoding(ISO-8859-1)', $ARGV[0] or die $!;
。結果は、スクランブルされたウムラウト、または のようなエラー メッセージ\xC3 is not a valid UTF-8 character
、さらには混合テキスト (一部は UTF-8、一部は Latin-1) でした。
私が望むのは、Latin-1 テキスト ファイルを読み込んで、コンソールで UTF-8 出力を生成する簡単な方法だけですprint
。Perlでそれを行う簡単な方法はありますか?
codeigniter - chatset latin1 (Vbulletin) での Codeigniter エラー
私は codeigniter を使用してプロジェクトを作成します。次のようにします。 Vbulletin の mysql に接続してプロジェクトに表示したいのですが、コードをDOMではなくUTF-8で保存します。問題なく表示されますが、Chrome と IE のエラーHEADにはすべてが表示されません。ただし、HEADのTITLEとBODYの後のすべて。BODY の後の "" にスペースを入れる
私はcodeigniterでdatabase.phpを設定しています。
Vbulletinが使用しているため、latin1を使用します。
HTML ページ
チャットセットを (latin1 または utf-8) に変更しようとしています。しかし、うまくいきません。助けてください。ありがとうございます。
mysql - After migrating db php returns latin1 charset, but in DB - cp1251
I need to transfer my mysql DB from windows server to Ubuntu server.
So i made export in phpmyadmin on win and imported *.sql file in linux.
In linux PMA all looks okay, tables are healthy, no errors, and charter set is (cp1251), russian data in tables looks how it needed.
But when i try to run select in php script there is only "???????" in result, and echo mysql_client_encoding()
showing that charset is latin1.
Please, tell me where is latin1 can be seted?
Thanks for help.
UPD: I am using now mysql_set_charset('cp1251');
after each db connection, but its not an pefect solution. Maybe someone can offer other idea?
mysql - mysql形式の古いデータベースをlatin1からutf8に変換する方法
latin1 形式のデータベースがあり、格納されているすべての utf8 文字が ???? として表示されます。
このコマンドを使用して、データベースとテーブルの形式を utf8 に変更します。
latin1 はすべての文字に 1 バイトを使用しますが、utf8 はすべての文字に 3 バイトを使用することを読みました。私の質問は、(すでに大量のデータを含む) テーブルを latin1 から utf8 に変更すると、古い文字データは 3 バイトまたは 1 バイトを消費することになります。データを変更して変換すると、古いデータに問題が発生しますか? 新しいデータは utf8 になると確信しています。
mysql - MySQLでの文字エンコードの問題-照合はUTF-8に設定されていますが、テキストはISOLatin1として保存されています
照合がut8_general_ciに設定されているテーブルがあります。表の列もこのエンコーディングに設定されています。
ただし、何らかの理由で、MySQLでテーブルを表示すると、テーブルのテキストはISO Latin 1としてレンダリング/保存され、テーブルのエントリのテキストを編集したくない場合は、使用する必要があります。テキストがページ上で正しくレンダリングされることを確認するためのISOLatin1エンコーディング(ページユーザーUTF8)。
ISO Latin 1テキストをテーブルに手動で入力することは通常は機能しますが、いくつかのエントリでは機能しません。つまり、文字がページ上で正しくレンダリングされません(UTF8を使用すると文字も正しくレンダリングされません)。したがって、この質問。MySQLが文字エンコードをどのように処理するかを理解できれば、おそらくこの問題を分類できます。
したがって、問題は、MySQLがエンコーディングを処理する方法、具体的には、照合がUTF-8に設定されているときにテーブルにISOLatin1文字が表示される理由を誰かが説明できるかどうかです。