問題タブ [non-ascii-characters]

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 に答える
781 参照

emacs - emacs(または任意のエディター)にASCII形式であるかのようにファイルを読み取らせるにはどうすればよいですか?

manまたはinfoページでも、ここまたはGoogleで検索しても、この回答は見つかりませんでした。本質的にはテキストファイルであるファイルがありますが、保存時にどういうわけか失敗しました。(ファイルの先頭に誤って奇妙なバイトがいくつかあると思います。)

ファイルを開くことができます。headまたはを使用しても意味がありますcatが、どのような種類のエディターも使用していません。

結局、私がやりたいのは、ファイルをemacsで開き、「乱雑な」文字を削除し、クリーンアップしたら保存することだけです。ただし、ファイルは巨大なので、開くにはemacsのような強力なものが必要です。

それ以外の場合は、これを1行ずつ読み取るスクリプトを作成し、スクリプトにテキスト形式で読み取らせてから、書き込むように強制できると思います。しかし、私はこれを何度も繰り返すことはないので、何か迅速なものが欲しかった。

ありがとう!マイク

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

c - ANSI C: isprint() は非 ASCII 文字に対して true を返しますか?

ファイルの内容全体を出力する C コードがいくつかあります。プログラムは以前はファイルを正常に印刷していましたが、1 秒印刷すると、絶対にあってはならない Unicode 文字が表示され続けます。

( で囲まれていますwhile(!feof(file)))
私が間違っていない限り、印刷可能な ASCII 文字のみを印刷する必要があります。いずれにせよ、最初に表示されるのは です\357\277\275。これは ASCII ではなく、印刷できません。

ファイルにはこれだけが含まれています:foo+bar.foo+t-bar.foo+completely fake

そして、これを出力します:(�foo+bar.foo+t-bar.foo+completely fake奇妙な文字と残りの間に改行を入れて)。

単純にすべてを印刷すると ( a la putchar(c))、まったく同じ文字が行末に配置されます。

別のファイルを使用してみました (古いファイルの名前を変更し、別のファイルへのソフト リンクを使用することにより) が、まったく同じ結果が得られます。

ファイルが空の場合にもこれを行います。

ファイルは vim で作成された完全なプレーン テキストであり、特別なことは何もありません。

元のコードは次のとおりです。

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

php - 配列の不一致がアクセント付き文字を見つけられない

ええと...私は困惑していますが、私が望む簡単な解決策があると確信しています!

私はJoomlaを使用しています。次のコードは、ページに取り込まれているJoomlaの記事のタイトルを確認し、タイトルの左側に適切なフラグ画像を配置します。

'London'やUSA'のような通常の単語ではすべてがうまくいきますが、タイトルに次のようなアクセント付きの文字があると、配列が機能しない/一致しないという問題があります。

éöüèç

Joomlaの記事では、記事のタイトルは次のように入力されています-Montgenèvre

これに対する解決策はありますか?

編集済み:デバッグから取得する出力は次のとおりです(他の配列を含む):

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

ios - NSURLが1文字の非ASCII文字列に対してnilを返さない

私はNSURLを使用して、単純なURL検証を行ってきました。主に、特定のアプリケーションでは不要な非ASCII特殊文字を削除するためです。NSStringへの入力としてURLを取得し、URLWithStringを使用してNSURLを作成しようとします。これがnilを返す場合、アプリはエラーメッセージを表示します。

たとえば、入力として「あか」(つまり、2つの日本語文字)を入力すると、NSURLはnilになります。これは期待どおりに機能しています。ただし、最近、非ASCII文字を1つだけ含む文字列を入力すると、NSURLがそれを処理し、URLエンコードされた値を返すことに気付きました。したがって、入力として「あ」と入力すると、結果のNSURLはnilではありません。AbsoluteString値は"%E3%81%82"です。

これはNSURLのバグなのか、それとも私が理解していないある種の抜け穴なのか疑問に思います。

Xcode3.2.5とiOS4.2SDKを使用しています。

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

unicode - (e)grep:単語の一部として認識されないアクセント付き文字

-w(e)grepを使用して、スイッチを使用して単語全体を照合したいと思います。ロケールを設定しましたが、アクセント付きの文字は次の例のように単語の境界として扱われます。

amo無視しながらどうやって見つけることができますかcáñamo

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

php - jqueryはアクセントを見つけてhtmlコードに置き換えます

PHP、jQuery、および mySQL を使用して、自分の Web ページに管理サイトを構築しています。この管理セクションの一部で、<textarea>要素を使用して複数の行を記述します。私はスペイン人で、á í ó ú と ñ の文字を使用します。

á を á に置き換えるスクリプトを探しています。

<textarea>また、コンテンツを mySQLに送信する際にまだ問題があります。

エラーは次のとおりです。

最後に、テーブルからコンテンツを読み取るようにユーザーが mysql に要求するときに、áéíóú と ñ 文字を置き換えます。ユーザーがこの表に含まれており、ユーザーがそのコンテンツを要求したときにリアルタイムで置き換えたい

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

php - PHP で JSON または XML 形式からアクセント記号を読み取る

æøåêèé のようなアクセント付きの文字を含む XML ファイルがあります。fread を使用して単純にファイルを読み取ると、これらの文字を簡単に読み取ることができますが、simplexml_load_string または DOMDocument を使用すると、これらの文字を読み取ることができません。

json_decode を使用してみた JSON ファイルの場合も同じです

mb_convert_encoding を使用して、変更文字を Window-1252、UTF-8 および他の多くのエンコーディングに変更しようとしましたが、何も機能しません。PHP 5.3.1 を使用しています。そのような文字を読み取るデモコードを誰かに手伝ってもらいたいです。以下は、私が試した基本的なコードですが、うまくいきませんでした

XML ファイル

PHPコード

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

javascript - 一部のブラウザは、JavaScript識別子の非ASCII文字を対応するASCII文字に自動変換できますか?

最近、バグのあるバージョンの悪意のあるスクリプトを挿入し始めたマルウェア攻撃を監視しています。彼らは過去3週間そのスクリプトを使用していて、それが本当にバグなのか、それともブラウザのJSエンジンの「機能」をターゲットにしているだけなのか疑問に思い始めました。

詳細は次のとおりです。

悪意のあるスクリプト(フルバージョンはこちら: http: //pastebin.com/zQWepqtz )は、ウィンドウ内のiではなくÍwÍndow.gloa=(function()....に注意して始まるコードを生成します。その悪意のあるスクリプトの以前の動作バージョンは、正しいコードを生成しました。window.gloa=(function()...

質問:一部のブラウザは、ウィンドウが実際にはウィンドウと同じであると「見なして」、そのコードを実行できますか?

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

python - Unicode文字を含むエンコードとデコードをより適切に処理し、ASCIIから行き来する方法を教えてください。

私はxlsファイル(MHTML形式)を読み取るプログラム(Python 2.7)に取り組んでいます。私が抱えている問題の1つは、ファイルにASCIIではない記号/文字が含まれていることです。私の最初の解決策は、Unicodeを使用してファイルを読み取ることでした

これが私がファイルを読んでいる方法です:

次に、lxmlを使用して処理を行います。これらのファイルには多くのテーブルがあります。処理の最初のステップでは、適切なテーブルを見つける必要があります。最初の行の最初のセルにある単語に基づいてテーブルを見つけることができます。これは、トリッキーになるところです。正規表現を使用してセルのtext_content()をテストしたいと思っていましたが、単語のバリエーションが多すぎることがわかりました(3,200ファイルのテスト実行で、1つだけを定義する概念が91の異なる方法を見つけましたテーブルが表現されたため、特定のセルのすべてのtext_contentsをダンプし、すべてのバリアントを厳密に識別するために、いくつかのアルゴリズムを優れた方法で使用することにしました。

text_content()を書くために使用したコードは

これは、Unicodeを使用してファイルを読み取り、ファイルが書き出される直前にエンコードすることがコンセンサスであると思われる、ここでの私のような質問に対する以前の回答に基づいて行いました。

そこで、ラベル/単語をExcelで処理し、すべて小文字に変換してスペースを取り除き、出力をテキストファイルとして保存しました。

テキストファイルには、私が探しているテーブルにラベルが付けられているすべてのユニークな方法の列があります

それから私はファイルを読んでいます-そして私が初めてそれを読んだのは

プログラムを実行したところ、一部の一致が発生しなかったことがわかりました。調査したところ、以下の例のように、unicodeが特定の文字を\ufffdに置き換えていることがわかりました。

より多くの研究は、ユニコードが文字のマッピングを持っていないときに置換が起こることを発見しました(おそらく正確な説明ではありませんが、それは私の解釈でした)

そこで、(何を失う必要があるかを考えた後)ユニコードを使用せずにラベルのリストを読み取ろうとしました。だから私はこのコードを使ってそれを読んだ:

今私が見る通訳で同じラベルを見ています

次に、このラベルのセットを使用して一致させようとすると、このエラーが発生します

イライラするのは、tableHeaderの値がテストセットに含まれていないことです。壊れた後にtableHeaderの値を尋ねると、これを受け取りました。

そして、私がアイドルにテストをタイプするとき、傷害に侮辱を加えるために

正しくfalseを返します

コード'\xa0'がノーブレークスペースのコードであることを理解しています。ユニコードを使用せずにPythonを読み込むと、Pythonも同様になります。私はExcelのすべてのスペースを取り除いたと思っていましたが、これらを処理するために、それらを分割してから結合しました

まだ質問はありません。申し訳ありませんが、私はまだこれに頭を悩ませようとしています。私はここで一貫性のない行動を扱っているように思えます。私が最初に文字列を読み、UnicodeとUTF-8を使用したとき、必要に応じてすべての文字が保存/転送可能でした。それらをエンコードして書き出すと、Excelで正常に表示され、txtファイルとして保存したところ、問題ないように見えましたが、何かが起こっており、どこにあるのかわかりません。

正しいラベルを識別するために文字列を書き出すのを避けることができれば、問題はなくなると思いますが、ラベルは20,000以上あります。正規表現を使用して潜在的なリストを大幅に削減できますが、一部の式では検査が必要です。

余談ですが、ソースファイルはすべてcharset='UTF-8'を指定していることに注意してください

要約-Unicodeを使用してソースドキュメントとラベルのリストを読み取ると、ラベルの一部の文字がufffdに置き換えられているため、一致するものがありません。また、Unicodeを使用してソースドキュメントとラベルのリストを読み取ると、特別な処理を行わずにI警告を受け取ります。

何が起こっているのかを理解して修正できるようにしたいのですが、私が考えることができるすべての場所を使い果たしました

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

html - 一部のクライアントでHTMLメールにアクセント文字が表示されない

ニュースレターを送信しています。私の知る限り、使用されている形式はhtmlですが、一部のクライアントでは、アクセント付きの文字がレンダリングされないため、コードが表示されます。例:「&nbsp」や「&eacute」など。残念ながら、友人から助けを求められたため、詳細はまだわかりません。これらの種類の電子メールの適切な電子メールヘッダーは何でしょうか?問題はそこにあるのではないかと思います。助けてくれてありがとう。

更新: 私は今より多くの情報を得ました。第三者が提供するサービスを利用しているということです。これは、メールの編集にTinyMCEを使用するWebベースです(残念ながら、設定にアクセスできるかどうかは疑問です)。とにかく彼らは私にメールのヘッダーを送ることができました:

Content-Transfer-Encoding:quoted-printable Content-Type:text / plain; charset = ISO-8859-1

「text/plain」ではなく「text/html」にすべきではありませんか?それが明白であるなら、それがレンダリングされていないことは明らかだからですよね?または、送信される電子メールヘッダーが「text / html」であるのに、クライアントのメールソフトウェアがhtmlメールを処理できず、「text / plain」に変更する可能性はありますか?助けてくれてありがとう、アレックス