HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

■14169 / 親記事)  環境依存文字
  
□投稿者/ とし -(2024/02/20(Tue) 13:47:16)
    始めて投稿します。
    Windows10で桐10sを使用しています。
    桐10sで環境依存文字を含むデータ行をみつける良い方法はないでしょうか?
    後の作業で文字化けが起こったりするため防ぐ方法があればアドバイスいただけますか?

引用返信 [メール受信/OFF] 削除キー/
■14170 / ResNo.1)  Re[1]: 環境依存文字
□投稿者/ ONnoji -(2024/02/20(Tue) 14:17:38)
    2024/02/20(Tue) 15:15:37 編集(投稿者)

    > Windows10で桐10sを使用しています。
    > 桐10sで環境依存文字を含むデータ行をみつける良い方法はないでしょうか?
    > 後の作業で文字化けが起こったりするため防ぐ方法があればアドバイスいただけますか?

    ひょっとして、次の過去ログが参考になるかもしれませんが・・・???

    こちら
     ↓
    過去ログ90
    ■13397 / inTopicNo.1)  unicode が含まれるデータの抽出について
    http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=al2&namber=13397&no=0&KLOG=90

    > ■13397 / inTopicNo.1)  unicode が含まれるデータの抽出について
    > □投稿者/ きりこ -(2022/07/27(Wed) 12:10:56)
    > 絞り込みの事でお伺い出来たらと思います。
    >
    > エクセルやUTF-8のCSVを桐に読込後、項目内のunicodeの含まれるデータを
    > 絞り込みしたい場合、どのような関数を使用すればよいのでしょうか。
    >
    > 例えば記号を含むデータを絞り込む場合は
    >
    > #is記号([],0)>0
    >
    > 等で対応できましたが、そのような関数を探してみましたがありませんでした。
    > S-JISのCSVにして「?」をサーチするのも大変なのでお分かりになる方が
    > いらっしゃればご教授願いたいと思います。

    p.s.

    ご案内した過去ログは長いので非常に分かりにくいですが、

    結論を申し上げると、「シフトJISとして扱えない文字を調べる」という内容ですよ。
              ・・・・・・・・・・・・・・・・・・・・・

    「シフトJISとして扱えない文字」イコール「環境依存文字」という図式ですね。(^^ゞ


    > ■13411 / inTopicNo.13)  Re[7]: unicode が含まれるデータの抽出について
    > □投稿者/ ONnoji -(2022/07/28(Thu) 13:32:03)
    >> 桐10では「𠮷」(吉の上が土)や「𦚰」(脇の力が刀)等の
    >> 環境依存文字と言われているデータをまとめて抽出する事が出来なくて
    >> 頭を悩ましております。
    >
    > なるほど!、環境依存文字なんね。早く言ってよぉ〜(@_@)
    >
    > 最初から入力しないのが一番なんですけれど、こればっかりはどうにもなりそうにないですね。
    >
    > 確かめたところ、やはりシフトJISで扱うと豆腐( "□" )ですね。
    >
    > 手間でしょうけれども、簡単な手続きを作って実行すれば、検出可能ですね。
    >
    > 先頭から終端まで順番に移動するループ内で、文字列の項目の先頭文字から順番に1文字ずつ調べるだけです。
    >
    > 文字数やレコード数が多いと時間がかかるでしょうけれど・・・


引用返信 [メール受信/OFF] 削除キー/
■14171 / ResNo.2)  Re[2]: 環境依存文字
□投稿者/ とし -(2024/02/20(Tue) 15:47:27)
    No14170に返信(ONnojiさんの記事)
    > 2024/02/20(Tue) 15:15:37 編集(投稿者)
    >
    >>Windows10で桐10sを使用しています。
    >>桐10sで環境依存文字を含むデータ行をみつける良い方法はないでしょうか?
    >>後の作業で文字化けが起こったりするため防ぐ方法があればアドバイスいただけますか?
    >
    > ひょっとして、次の過去ログが参考になるかもしれませんが・・・???
    >
    > こちら
    >  ↓
    > 過去ログ90
    > ■13397 / inTopicNo.1)  unicode が含まれるデータの抽出について
    > http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=al2&namber=13397&no=0&KLOG=90
    >
    >>■13397 / inTopicNo.1)  unicode が含まれるデータの抽出について
    >>□投稿者/ きりこ -(2022/07/27(Wed) 12:10:56)
    >>絞り込みの事でお伺い出来たらと思います。
    >>
    >>エクセルやUTF-8のCSVを桐に読込後、項目内のunicodeの含まれるデータを
    >>絞り込みしたい場合、どのような関数を使用すればよいのでしょうか。
    >>
    >>例えば記号を含むデータを絞り込む場合は
    >>
    >>#is記号([],0)>0
    >>
    >>等で対応できましたが、そのような関数を探してみましたがありませんでした。
    >>S-JISのCSVにして「?」をサーチするのも大変なのでお分かりになる方が
    >>いらっしゃればご教授願いたいと思います。
    >
    > p.s.
    >
    > ご案内した過去ログは長いので非常に分かりにくいですが、
    >
    > 結論を申し上げると、「シフトJISとして扱えない文字を調べる」という内容ですよ。
    >           ・・・・・・・・・・・・・・・・・・・・・
    >
    > 「シフトJISとして扱えない文字」イコール「環境依存文字」という図式ですね。(^^ゞ
    >
    >
    >>■13411 / inTopicNo.13)  Re[7]: unicode が含まれるデータの抽出について
    >>□投稿者/ ONnoji -(2022/07/28(Thu) 13:32:03)
    > >> 桐10では「𠮷」(吉の上が土)や「𦚰」(脇の力が刀)等の
    > >> 環境依存文字と言われているデータをまとめて抽出する事が出来なくて
    > >> 頭を悩ましております。
    >>
    >>なるほど!、環境依存文字なんね。早く言ってよぉ〜(@_@)
    >>
    >>最初から入力しないのが一番なんですけれど、こればっかりはどうにもなりそうにないですね。
    >>
    >>確かめたところ、やはりシフトJISで扱うと豆腐( "□" )ですね。
    >>
    >>手間でしょうけれども、簡単な手続きを作って実行すれば、検出可能ですね。
    >>
    >>先頭から終端まで順番に移動するループ内で、文字列の項目の先頭文字から順番に1文字ずつ調べるだけです。
    >>
    >>文字数やレコード数が多いと時間がかかるでしょうけれど・・・
    >
    >
    ONnojiさん」ありがとうございます。
    仰る通り、シフトJISとして扱えない文字を検出したいのです。
    結構、データ量が多いので何か関数の組み合わせのようなものはないかと思案しております。
    現状は過去ログの投稿者さんと同様にシフトJISに書き出し再度読み込みを行なうことによって?を見つける方法を行っています。

    一度、一文字ずつ調べる方法も検討してみます。
    ただ、その一文字が環境依存文字であるかどうか手続きで判断する方法が思いつきません。

    色々試してみます。
引用返信 [メール受信/OFF] 削除キー/
■14173 / ResNo.3)  Re[1]: 環境依存文字
□投稿者/ ONnoji -(2024/02/20(Tue) 16:24:49)
    2024/02/20(Tue) 17:09:30 編集(投稿者)

    > ONnojiさん」ありがとうございます。
    > 仰る通り、シフトJISとして扱えない文字を検出したいのです。
    > 結構、データ量が多いので何か関数の組み合わせのようなものはないかと思案しております。
    > 現状は過去ログの投稿者さんと同様にシフトJISに書き出し再度読み込みを行なうことによって?を見つける方法を行っています。

    項目の先頭文字が、シフトJISではない文字である行を絞り込むのは簡単です。
    ・・・・・・・・

    絞り込み:比較式で

     #hex( #シフトjis( [文字列型項目名] ) ) = "81A0"

    とすれば一発です。

    この "81A0" とは、豆腐("□")のことですが、

    環境設定の[全般]→[高度な設定]の[シフトJIS変換処理で使う置き換え文字(再起動時に有効)]のことです。

    デフォルトでは、豆腐("□")になっているハズです。※ここイジル人はまず居ませんけどね(^^ゞ

    絞り込み:比較式で

     #hex( #シフトjis( [文字列型項目名] ) ) = "81A0"

    で絞り込んだ後、

    [文字列型項目名] にカーソルを当てて、右メニューの[コード表示]で、

    シフトJISで表示することです。

    該当する文字が豆腐("□")になっているのですぐに見つかりますよ。

    > 一度、一文字ずつ調べる方法も検討してみます。
    > ただ、その一文字が環境依存文字であるかどうか手続きで判断する方法が思いつきません。

    一文字づつ調べるためには、先頭文字から末尾文字まで、一文字づつ調べなければなりません。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    そのためには、[フォーム+イベント処理]等でプログラミングする必要がありますね。

    ※つまり、(繰り返し処理を含むので)お手軽な計算式では解決しません。
     ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

    プログラミング例は、過去ログの

    ■13415 / inTopicNo.17)  Re[11]: unicode が含まれるデータの抽出について
    □投稿者/ ONnoji -(2022/07/28(Thu) 18:56:23)

    にありますよ。

    p.s.

    読み難くなるので、今後は無駄な引用は削除して投稿してください。

    p.p.s.

    なお、■解決しましたら最下段にチェックを入れてください


引用返信 [メール受信/OFF] 削除キー/
■14174 / ResNo.4)  Re[2]: 環境依存文字
□投稿者/ とし -(2024/02/21(Wed) 09:50:25)
    No14173に返信(ONnojiさんの記事)
    ONnojiさん」ありがとうございます。

    > p.s.
    >
    > 読み難くなるので、今後は無駄な引用は削除して投稿してください。
    >

    初めての投稿で読みづらいところはご容赦ください。

    >
    > 項目の先頭文字が、シフトJISではない文字である行を絞り込むのは簡単です。
    > ・・・・・・・・
    >
    > 絞り込み:比較式で
    >
    >  #hex( #シフトjis( [文字列型項目名] ) ) = "81A0"
    >
    > とすれば一発です。
    >
    > この "81A0" とは、豆腐("□")のことですが、
    >
    > 環境設定の[全般]→[高度な設定]の[シフトJIS変換処理で使う置き換え文字(再起動時に有効)]のことです。
    >
    > デフォルトでは、豆腐("□")になっているハズです。※ここイジル人はまず居ませんけどね(^^ゞ
    >
    > 絞り込み:比較式で
    >
    >  #hex( #シフトjis( [文字列型項目名] ) ) = "81A0"
    >
    > で絞り込んだ後、
    >
    > [文字列型項目名] にカーソルを当てて、右メニューの[コード表示]で、
    >
    > シフトJISで表示することです。
    >
    > 該当する文字が豆腐("□")になっているのですぐに見つかりますよ。
    >

    非常に大きなヒントありがとうございました。

    ご教示いただいたことを参考に全文字チェックを試してみます。

    一度解決済みにしますが、また何かありましたらよろしくお願いします。




解決済み!
引用返信 [メール受信/OFF] 削除キー/
■14176 / ResNo.5)  Re[3]: 環境依存文字
□投稿者/ ONnoji -(2024/02/21(Wed) 11:09:26)
    2024/02/21(Wed) 11:37:26 編集(投稿者)

    > 非常に大きなヒントありがとうございました。
    >
    > ご教示いただいたことを参考に全文字チェックを試してみます。
    >
    > 一度解決済みにしますが、また何かありましたらよろしくお願いします。

    老婆心ながら(^^ゞ

    もう一度、繰り返し処理が必要な内容は、お手軽な計算式では解決しません。

    なので、アルゴリズムが必要になります。

    以下はなるべく桐言語を使わないで記述した疑似コードのアルゴリズムです。

     先頭行へ移動
    ┌繰り返し ( .not #eof )

    │ 探索位置 = 1
    │ 文字数  = #文字数( 項目名 )
    │┌繰り返し ( 探索位置 <= 文字数 )
    ││
    ││ 探索位置の1文字が豆腐("□")か否か判定する
    ││
    ││ 探索位置 = 探索位置 + 1
    │└繰り返し終了

    │ 次行へ移動
    └繰り返し終了

    ご参考になれば幸いです。

    p.s.

    なお、検出結果をどのような形でフィードバックするのかは悩ましいですね。

    直感的には、

    ・検出結果(行番号,文字位置:文字)をテキストファイルに出力する
     または
    ・該当文字の前後を " ? "で囲む

    が考えられますが・・・(^^ゞ

引用返信 [メール受信/OFF] 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Mode/  Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -