問題タブ [utf-8]
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.
c++ - C++ 文字列: UTF-8 または 16 ビット エンコーディング?
私はまだ、(ホーム) プロジェクトでUTF-8文字列 (必要に応じて追加の UTF-8 固有の関数を使用して std::string で実装) を使用するか、16 ビット文字列 (std: として実装) を使用するかを決定しようとしています。 :wstring)。このプロジェクトは、プログラミング言語と環境です (VB のように、両方を組み合わせたものです)。
いくつかの希望/制約があります:
- メモリが限られているコンピュータなど、限られたハードウェアで実行できれば素晴らしいと思います。
- Windows、Mac、および (リソースが許せば) Linux でコードを実行したいと考えています。
- GUI レイヤーとしてwxWidgetsを使用しますが、そのツールキットと対話するコードをコードベースの隅に閉じ込めたいと考えています (非 GUI 実行可能ファイルを用意します)。
- ユーザーに表示されるテキストとアプリケーションのデータを操作するときに、2 つの異なる種類の文字列を操作することは避けたいと思います。
現在、必要な場合にのみ UTF-8 操作関数を使用する目的で、std::string を使用しています。必要なメモリが少なくて済み、とにかく多くのアプリケーションが進んでいるようです。
php - すべてのテーブルとフィールドを MYSQL の utf-8-bin 照合に変更するスクリプト
データベース内のすべてのテーブルとフィールドのデフォルトの照合順序を変更するために実行できるSQL
またはスクリプトはありますか?PHP
自分でも書けますが、こういうサイトですぐに手に入るものにすべきだと思います。誰かが投稿する前に自分で思いつくことができれば、自分で投稿します。
validation - ファイルが有効な UTF-8 かどうかを確認するには?
有効な UTF-8 であるはずのいくつかのデータ ファイルを処理していますが、有効ではないため、(私の制御下にない) パーサーが失敗します。UTF-8 整形式のデータを事前検証する段階を追加したいのですが、これを行うのに役立つユーティリティをまだ見つけていません。
W3C には機能していないように見えるWeb サービスがあり、無効な UTF-8 ファイルを報告するが、どの行/文字を修正すべきかを報告しないWindows 専用の検証ツールを見つけました。
ドロップインして使用できるツール (理想的にはクロスプラットフォーム)、またはデータ読み込みプロセスの一部として作成できる ruby/perl スクリプトのいずれかがあれば幸いです。
php - PHPでUTF-8文字列を7ビットXMLに/から変換します
UTF-8 文字列 (つまり 8 ビット文字列) を XML 互換の 7 ビット文字列 (つまり、数値エンティティを含む印刷可能な ASCII) に/から変換するにはどうすればよいですか?
すなわち、次のencode()
ような関数:
decode()
も役立ちます:
PHP のhtmlenties()
/html_entity_decode()
ペアは正しいことをしません:
手間をかけて型を指定すると少しは役に立ちますが、それでも数値エンティティではなく、XML と互換性のない名前付きエンティティが返されます。
java - UTF-8 でエンコードされた後、特定のバイト数に収まるように Java 文字列を切り詰めるにはどうすればよいですか?
String
Javaが UTF-8 でエンコードされると、特定のバイト数のストレージに収まるようにJava を切り詰めるにはどうすればよいですか?
php - UTF-8文字列の配列をソートする方法は?
私は現在、PHPでUTF-8でエンコードされた文字列を含む配列をソートする方法について手がかりがありません。配列は LDAP サーバーから取得されるため、データベースを介した並べ替え (問題ありません) は解決策ではありません。以下は私のWindows開発マシンでは機能しません(ただし、これは少なくとも可能な解決策であると思います):
出力は次のとおりです。
これはまったくナンセンスです。のコードページとして 1252 を使用すると、setlocale()
別の出力が得られますが、それでも明らかに間違っています。
UTF-8 文字列のロケールを認識して配列をソートする方法はありますか?
ロケールとして使用される同じスニペットがde_DE.utf8
Linux マシンで動作するため、これは Windows 上の PHP の問題のように思われることに注意してください。それにもかかわらず、この Windows 固有の問題の解決策は素晴らしいでしょう...
perl - UTF8 メールヘッダーをデコードする
次の形式の電子メールの件名があります。
メールの本文は utf-8 base64 でエンコードされており、正常にデコードされています。現在、Perl の Email::MIME モジュールを使用して電子メールをデコードしています。
=?utf-8 区切り文字の意味と、この文字列から情報を抽出するにはどうすればよいですか?
pdf - PDF形式のUnicode
私のプログラムは、要求に応じて比較的単純なPDFドキュメントを生成しますが、漢字や奇妙な数学記号などのUnicode文字に問題があります。通常の文字列をPDFで書き込むには、角かっこで囲みます。
8進コードで文字をエスケープするオプションもあります。
しかし、これは最大512文字になります。上位の文字をどのようにエンコードまたはエスケープしますか?バイトストリームと16進エンコードされた文字列への参照を見たことがありますが、実際にそれを行う方法を教えてくれる参照はありません。
編集:あるいは、私のために仕事をしてくれる良いJavaPDFライブラリを教えてください。私が現在使用しているのはgnujpdfのバージョンです(元の作者はAWOLになっているように見えるので、いくつかのバグを修正しました)。これにより、AWTグラフィックスインターフェイスに対してプログラミングできます。同じ。
代替案は、HTML-> PDFか、HTMLに非常によく似た段落とボックスに基づくプログラムモデルのいずれかであるように思われます。iTextは後者の例です。これは私の既存のコードを書き直すことを意味します、そして私はそれらが私にレイアウトにおいて同じ柔軟性を与えるとは確信していません。
編集2:以前は気づいていませんでしたが、iTextライブラリにはGraphics2D APIがあり、Unicodeを完全に処理しているように見えるので、これを使用します。尋ねられた質問に対する答えではありませんが、それは私にとって問題を解決します。
編集3: iTextは私にとってうまく機能しています。レッスンは、無意味に難しいと思われる何かに直面したときに、あなたよりもそれについてもっと知っている誰かを探すことだと思います。
encoding - ファイルの文字エンコーディングを修正するにはどうすればよいですか?
ANSI でサポートされていないアクセント付きの文字が含まれているため、ANSI としてエンコードされるべきではない ANSI でエンコードされたテキスト ファイルがあります。私はむしろUTF-8で作業したいと思います。
データは正しくデコードできますか、それともトランスコーディングで失われますか?
どのようなツールを使用できますか?
ここに私が持っているもののサンプルがあります:
文脈から (café は café である必要があります)、これらは次の 2 つの文字であることがわかります。
c++ - UTF-8 に対して安全なコードをどのように記述しますか?
ASCII 文字セット用に開発された一連のアプリケーションがあります。現在、アイスランドにインストールしようとしていますが、アイスランドの文字が台無しになるという問題が発生しています。
私たちは問題に取り組んでいますが、疑問に思っていました.8ビット文字用に設計され、UTF-8データが与えられたときに適切に動作するC++コードを書くための良い「ガイド」はありますか?
誰もが Unicode 標準全体を読むことは期待できませんが、より理解しやすいものがある場合は、チームと共有して、これらの問題に再び遭遇しないようにしたいと思います.
wchar_t またはその他の文字列表現を使用するようにすべてのアプリケーションを書き直すことは、現時点では実行できません。また、これらのアプリケーションはネットワークを介して 8 ビット文字を使用するサーバーやデバイスと通信するため、内部で Unicode を使用したとしても、境界での変換に問題が残ることにも注意してください。ほとんどの場合、これらのアプリケーションはデータを渡すだけです。テキストをあちこちにコピーする以外の方法でテキストを「処理」することはありません。
使用するオペレーティング システムは、Windows と Linux です。std::string と単純な古い C 文字列を使用します。(そして、設計上の決定を擁護するように私に頼まないでください。私は混乱を正す手助けをしようとしているだけです。)
提案されたもののリストは次のとおりです。