問題タブ [diacritics]

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

excel - Microsoft Excel は .csv ファイルの分音記号をマングルしますか?

プログラムで (PHP 5.2 を使用して) データを .csv テスト ファイルにエクスポートしています。
データの例: Numéro 1(アクセント付きの e に注意してください)。データはutf-8(先頭に BOM なし) です。

このファイルを MS Excel で開くと、次のように表示されNuméro 1ます。

これを正しく表示するテキスト エディター (UltraEdit) で開くことができます。UE は、キャラクターが であると報告しますdecimal 233

できればインポート ウィザードやデフォルト以外のウィザード設定を強制的に使用せずに、MS Excel がテキスト データを正しくレンダリングできるように、テキストデータを .csv ファイルにエクスポートするにはどうすればよいですか?

0 投票する
7 に答える
45476 参照

php - PHP: UTF-8 文字列でウムラウトを最も近い 7 ビット ASCII に置き換えます

私がやりたいのは、文字列からすべてのアクセントとウムラウトを削除して、「lärm」を「larm」に、または「andré」を「andre」に変えることです。私がやろうとしたのは、文字列を utf8_decode してから strtr を使用することでしたが、ソース ファイルが UTF-8 ファイルとして保存されているため、すべてのウムラウトに ISO-8859-15 文字を入力できません。 UTF-8 文字。

明らかに、これに対する解決策は、ISO-8859-15 ファイルであるインクルードを含めることですが、別の必要なインクルードを含めるよりも良い方法があるに違いありません。

更新:たぶん、私がやろうとしていることは少し不正確でした: 実際にはウムラウトを削除したくはありませんが、それらを最も近い "1 文字の ASCII" に置き換えます。

0 投票する
6 に答える
14707 参照

regex - これらの Unicode 文字 (コードポイント) は、この正規表現で何を意味しますか?

私は次の正規表現を持っています: 私は次のような部分のほとんどを見つけました:

検証式の最後の部分を理解するのに助けが必要です:

誰でもこれが何を意味するのか分かりますか?

0 投票する
20 に答える
257907 参照

.net - .NET で文字列から分音記号 (アクセント) を削除するにはどうすればよいですか?

フランス系カナダ人の文字列を変換しようとしていますが、基本的には、文字を維持したまま、文字のフランス語のアクセント記号を取り出せるようにしたいと考えています。(例: に変換するéecrème brûléeになりますcreme brulee)

これを達成するための最良の方法は何ですか?

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

apache - UTF-8 URI が Apache と mod_rewrite を爆発させる

mod_rewrite を使用した Apache を使用していますが、アクセント記号付きの文字を含む URI を入力すると、Apache から「ページが見つかりません」というエラーが表示されます。

URI は次のとおりです: /places/tags/Café

私のページのエンコーディングはUTF-8です。データベース接続とテーブルは UTF-8 です。私の Apache DefaultCharacterSet = UTF-8. はい、Apache には言語パックがありますが、それらは URI ではなく、ページ コンテンツ用にあると思います。

URL をパーセント記号や html エンティティにエンコードしたくないので、1 億行のデータでは特殊文字を取り除くことは現時点では実用的ではありません。

どんな助けでも大歓迎です。

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

asp.net - .Nethttpハンドラーでauumlautをエンコードする際の問題

リクエストをJavaWebサービスに渡すASP.Net(2.0)HTTPハンドラーに送信するJavaScriptリクエストがあります。このシステムでは、アクセント付きの特殊文字などの特殊文字は正しく渡されません。

例えば

  • 人間の入力:Düsseldorf
  • へのJavaScript非同期リクエストになりhttp://site/serviceproxy.ashx?q=D%FCsseldorfます。これは、私が知る限り、ISO-8859-1およびUTF-8で有効です。(UTF-8で%c3%bcでない限り)
  • HttpContext.Current.Request.QueryString.Get("q")D�sseldorfトラブルが始まるところから戻ります。
  • しかし、(a'?')をHttpUtility.UrlEncode(HttpContext.Current.Request.QueryString.Get("q"), Encoding.GetEncoding("ISO-8859-1"))返しますD%3fsseldorf
  • HttpUtility.UrlEncode(HttpContext.Current.Request.QueryString.Get("q"), Encoding.UTF8)戻りますD%ef%bfsseldorf

そのため、値が正しくデコードまたは再エンコードされて、Javaサービスに渡されません。

  • 通知HttpContext.Current.Request.Url.Query?q=D%FCsseldorf&output=json&from=1&to=10
  • HttpContext.Current.Request.QueryString.ToString()ですがq=D%ufffdsseldorf&output=json&from=1&to=10

HttpContextこれはなぜですか。また、次のようなリクエストヘッダーを尊重するように指示するにはどうすればよいですか。

QueryStringUTF-8文字セットを使用してURLをデコードします。

補遺:答えが指摘しているように、問題はエンコードほどデコードにありません。JavaScriptでの使用escape()は、UTF-8に従ってエスケープしませんが、使用はエスケープencodeURIComponent()します。

0 投票する
5 に答える
20059 参照

.net - 分音記号付き文字を非分音記号付き文字に変更する方法

スタックオーバーフローで分音記号を削除する方法を見つけましたが、分音記号を非分音記号に変更できるかどうか教えてください。

ああ..そして.NETについて考えます(不可能な場合は他のもの)

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

c# - C#でアクセント付き/ウムラウト付きの文字を装飾されていない対応する文字に置き換える

249087の重複

ユーザーが生成したアドレスには、分音符号の付いた文字が含まれている可能性があります。そのような文字を最も近い英語の対応する文字に自動的に変換する最も効果的な (つまり一般的な) 方法 (単純な置換を除く) は何ですか?

たとえば、 àâãääåいずれかが

æは 2 つの別個の文字aeになります

çはcになります

èéêëのいずれかがeになる

可能性のあるすべての文字のバリエーションについて (できれば、文字の発音区別記号ごとにルックアップを見つけてエンコードする必要はありません)。

(注: これらのアドレスを、英語以外の文字を印刷できないサード パーティのソフトウェアに渡す必要があります。ソフトウェアでアドレスを処理できればよかったのですが、それを制御することはできません。)

編集: 気にしないでください... [ここ] [2] で答えが見つかりました。投稿後、質問の右側にある「関連」セクションに表示されましたが、以前の検索や投稿前の提案には表示されませんでした。うーん。いずれにせよ、「発音記号」タグを他の質問に追加しました。

編集2:うわあ!私がそれを閉じた後、誰がこれに -1 票を投じましたか?

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

perl - Perlで文字列を比較するときにアクセントを無視するにはどうすればよいですか?

私はこのクイズ アプリケーションを持っており、人々が入力したものと正しい答えを一致させます。今のところ、私がしていることは基本的に次のとおりです。

答えが「魚」であるかのように、ユーザーが「魚」と入力すると、良い答えとしてカウントされるので、これは素晴らしいことです。

私が直面している問題は、私がフランス人であるため、ユーザーが「taton」と入力し、答えが「tâton」であることを受け入れることができるようにしたいということです。

だから、私ができることは次のとおりです。

そして、私のチェックルーチンでは、次のことを行います:

答えも同様です。

私はそれが好きではありません。なぜなら、私は物事をハードコーディングしなければならず、ISO-8859-15 の世界を離れて UTF-8 の世界に移ろうと決心した日、私は運命づけられているからです。

だから、文字列を比較する方法を探しています。それは"tâton" eq "taton""maçon" eq "macon"または"macon" =~ /maçon/真になります。

0 投票する
6 に答える
7633 参照

php - 「きれいなURL」を書き直すときに発音区別符号(アクセント)を処理する方法

ユーザーが作成したトラベルブログのタイトルを含むようにURLを書き直します。

私はURLの読みやすさとSEOの目的の両方のためにこれを行います。

最初の整数はidで、残りは私たち人間用です(ただし、リソースの要求には関係ありません)。

現在、人々は任意のUTF-8文字を含むタイトルを書くことができますが、ほとんどはURLで許可されていません。私の聴衆は一般的に英語を話しますが、彼らは旅行するので、彼らは次のような名前を含めるのが好きです

LinuxでPHPを使用してURLに表示するためにこれを変換する適切な方法は何ですか。

これまでにいくつかの解決策を見てきました:

  1. 許可されていない文字をすべて削除し、スペースを置き換えるだけで、奇妙な結果になります。
    'Aït Ben Haddou' → /gallery/280-At_Ben_Haddou/
    あまり役に立ちません。

  2. 許可されていないすべての文字を削除し、スペースを置き換え、charcode(stackoverflow.com)を残すだけです。これは、「regex-hammer」が使用されているため
    、奇妙な結果が得られる 可能性があります。'tést tést' → /questions/0000/t233st-t233st

  3. 「最も近い同等物」に翻訳する
    'Aït Ben Haddou' → /gallery/280-Ait_Ben_Haddou/
    しかし、これはドイツ語ではうまくいかない。たとえば、「ü」は「ue」に音訳する必要があります。

私にとって、オランダ人として、3番目の結果は「最高に見えます」。
ただし、(1)多くの人が異なる意見を持っていること、および(2)ドイツの例ではまったく間違っていることは間違いありません。

3番目のオプションのもう1つの問題は、7ビット相当に変換できるすべての可能な文字を見つける方法です。

したがって、問題は次のとおりです。

  1. あなたの意見では、これが最も望ましい結果です。(技術制限内)

  2. 技術的にそれを解決する方法。(目的の結果に到達する)PHPを使用します。