2017-02-15 14 views
0

私はTwitterのAPI、 と私のデータベースでつぶやきを保存しようとしているが、私は「ナチュラル」大胆な文字PHPで奇妙な強い/太字のUnicodeを非太字のUTF-8文字に変換するには?

NORMALの文字であるように思わstrage文字のこの種の取得:

azertyuio 

STRANGEをCHARS:私は私のNetBeansのエディタでstrongsの文字を貼り付けた場合、私は正方形の文字のようなものを得る

 !! 

...

私はかつてそれを見たことがない。このテキストをphpの非大胆な文字で変換するのを手伝ってもらえますか?

+0

どのデータベースですか?テーブル構造、具体的には使用している文字セット/照合とは何ですか?これは文字セットの問題のようです。それはあなたのPHPクライアントスクリプト内で、テーブルのフィールドにストレージのためのUTF - 8を使用する必要があるようだ。この質問を参照してください:http://stackoverflow.com/questions/8274972/official-encoding-used-by-twitter-streaming-api-is-it-utf-8 – gview

+0

たとえば、 var_dump(ord( "')) ; // 240を返します。 var_dump(ord( 's')); // return 115 –

+2

これらはユニコード文字で、特に 'U + 1D400'から' U + 1D7FF'までの 'MATHEMATICAL SANS-SERIF BOLD SMALL'です。 –

答えて

0

これはansiではなくUTFまたはHTMLエンティティ文字エンコーディングを使用する理由の1つです。 UTFを使用すると、これらの文字(および他の言語の文字)を保存および表示したり、他の言語/文字セットでこれらの文字を入力したときに検索を処理したりすることができます。

代わりに、あなたが使用することを選択したすべての奇妙な文字セットに対して「変換」を書くことができます。それでも、これらを変換することは可能です - あなたの時間に本当に価値があるかどうかを判断するだけです。

送信した文字は、サンセリフの数学的ボールド文字と呼ばれます。リストhere at w3.orgが見つかります。同様に、標準的で傾斜した斜めの大胆なバリエーションがあります(そのページの上部にある前後のリンクを使用してください)。

大文字小文字を小文字に切り替える(小数点に32を加算する、またはchr(ord(x)+32))とは異なり、数学の太字から小文字にすべての文字を切り替えるために使用できる小数点は設定されません各文字グループのANSIに相当します。同様に、ord()とchr()はこれらの文字に対しては機能しません。

例:あなたが正しい小文字を与える120205を引い、従って= 120211

65 - - Aは65 120276である、= 120205
97 120276である

は120302であり、Aは97 120302でありますしかし、同じことはうまくいかないでしょう。つまり、キャラクターがどの文字セット(数学的な太字、斜めの数学的なものなど)であるかを判断し、それが属するサブセット(a-z、A-Z、0-9)を特定し、それを修正するために計算した対応するオフセットを使用する必要があります。これを行うには、サポートされている変換文字セットに収まる文字をすべてのツイートのすべての文字でチェックし、それらの文字を変換する必要があります。

数学的な太字のみを使用して多数のつぶやきがある場合、それは価値があるかもしれませんが、あらゆる種類の潜在的な文字を含むことができる大きなつぶやきセットをインポートする場合は、作業。

価値があると思われる場合は、最初に行う必要があることは、APIから受け取っている生の文字エンコーディングを見て、それを変換する必要があるかどうか、次に文字の配列を使用する文字セット、その部分集合の値の範囲を使用する、またはその他の方法。また、それらの文字をどのようにスキャンするかを決める必要があります。

あなたの質問に対する答えは、それらを変換することができますが、あなたの状況や詳細は、それが価値があるかどうか、どのように達成するかを判断することです。あなたのために書かれたものではありません。

+0

woowww! 私はこの問題のためにウェブ上で機能を見つけることができます(しかし、私は疑い...) 私はあなたに知らせてくれた;)thanks –

+0

そしてつぶやくこの種の文字はtwitterネイティブではない拡張子によって作られます。 –

+0

@ J.Doe FYI。あなたが直面している問題は、絵文字を単語に変換しようとした場合と同様に記述することができます。 Emojiではなく、文字を処理しようとしています。どちらの場合でも、必要なのは同じものです。電話の種類ごとにすべての絵文字を、それに置き換えるために対応する単語をすべて知っている必要があります。さまざまな文字セットとそれに置き換えられるべき意図された文字についても同じです。編集:同じことを言います。なぜなら、コンピュータの観点から見ると、彼らは同じです。単純にユニコードのキャラクターです。 –

関連する問題