喫茶XRAYトップページ

[スレッド全体
]

[2902] 「886_ChangeMojiCode-04」について。返信 削除
2010/1/4 (月) 11:16:38 Null
マスター、皆さん 明けましておめでとうございます。
今年も宜しくお願いします。

早速ですが、一つ教えて下さい。

表記の通り、「886_ChangeMojiCode-04」で自前のテキストファイルを
テストしましたら、「0」がかえって来る物が有りました。

テキストファイルの内容 (S-jisで保存)
1 ..  固定長のCSVファイル  36KB   正常に「932」が返る。
2 ..  固定長のCSVファイル  6.3MB  ???   「0」が返る。
3 ..  (2)のサブセット版    2KB    ???   「0」が返る。
      ※ 行数とレコード長を小さくしたもの
文字括(")なし、 分離符(,)

「hogehoge.csv」を「hogehoge.txt」に変更して試験しました。

考えられる要因が有りましたら教えて下さい、宜しくお願いいたします。

「備考」
「886_ChangeMojiCode-02」の変換では希望の作業が可能でした。

 Windows Vista  Delphi2007です。

失礼します。


[2903] Re:「886_ChangeMojiCode-04」について。返信 削除
2010/1/4 (月) 12:52:20 Mr.XRAY
▼ Nullさん

もう仕事バリバリで開始ですか.お疲れ様です.

> 早速ですが、一つ教えて下さい。

Delphi2007はもう古いですね.
時代はすでにUnicodeです.他のOSはとっくの昔になっています.
こんな古いのは相手にしたくないですね(笑).

と,冗談はともかく.
ファイルサイズの問題でもなさそうですね.
う〜ん.後で調べてみます.
どなたか情報がありましたらよろしく.


[2904] Re2:「886_ChangeMojiCode-04」について。返信 削除
2010/1/4 (月) 12:56:25 Mr.XRAY
> ファイルサイズの問題でもなさそうですね.

ちょっとうろ覚えなんですが,確かこのMLangでは文字コードの判定
する際,先頭から何文字かを調べていたような気がします.
その時,失敗すると0を返すのかも知れません.
間違っている可能性大です.


[2905] Re3:「886_ChangeMojiCode-04」について。返信 削除
2010/1/4 (月) 13:12:05 Null
▼ Mr.XRAYさん  お世話になります。

> もう仕事バリバリで開始ですか.お疲れ様です.

他にする事がないので!。(くやしいです(>_<))


> Delphi2007はもう古いですね.
> 時代はすでにUnicodeです.他のOSはとっくの昔になっています.
> こんな古いのは相手にしたくないですね(笑).


エ〜ッ、そうなんですか?。
そう仰らずにお願いしますよ。


> ちょっとうろ覚えなんですが,確かこのMLangでは文字コードの判定
> する際,先頭から何文字かを調べていたような気がします.


何となくそんな雰囲気もなくもない様な。
最初に疑ったのが「これ」でしたが、範囲(限界)が分からずでした。


[2906] Re4:「886_ChangeMojiCode-04」について。返信 削除
2010/1/4 (月) 19:20:48 Mr.XRAY
現状報告です.

この関数,DetectInputCodepageはMLang.dllの関数で,
ちょっと難しそうですね.Nullさんももう見ていると思いますが,

IMultiLanguage2::DetectInputCodepageの精度
http://d.hatena.ne.jp/xcaqhbaj/20090224/1235432758

どこかの記事で失敗した時は,デフォルト(多分日本でWindows)
のS-JISのコードを返すようにしている,というのを見かけました.

IEでも時々もしコードの判定失敗(MLang.dllは,IEが使用しているdll)
することがあるので,それと同様な現象かも知れません.

引き続き調査してみます.


[2907] Re5:「886_ChangeMojiCode-04」について。返信 削除
2010/1/4 (月) 19:26:05 Mr.XRAY
http://conferences.embarcadero.com/jp/article/images/39348/b4.pdf

こんなのがありました.
この15,15,18,20頁に,このDetectInputCodepage関数のことが書いてあります.
20頁のように,候補を増やせばいいのかな?


[2908] Re6:「886_ChangeMojiCode-04」について。返信 削除
2010/1/4 (月) 21:36:59 Null
▼ Mr.XRAYさん

お手数をお掛けしております。

> この関数,DetectInputCodepageはMLang.dllの関数で,
> ちょっと難しそうですね.Nullさんももう見ていると思います


はい、難しいです。

> IEでも時々もしコードの判定失敗(MLang.dllは,IEが使用しているdll)
> することがあるので,それと同様な現象かも知れません


ページを替えた瞬間にとんでもなく文字化けする事が有りますが、
これと同じ事なのでしょうか?。


> http://conferences.embarcadero.com/jp/article/images/39348/b4.pdf
> こんなのがありました.
> この15,15,18,20頁に,このDetectInputCodepage関数のことが書いてあります.
> 20頁のように,候補を増やせばいいのかな?


じっくり解析(見るだけ?)します。

変換前のデータの文字コードが確実にいつも同じで有れば、
「886_ChangeMojiCode-02」の変換のみで充分事が足りるのですが、
つい、「欲」を出して「886_ChangeMojiCode-04」の方に手を出してしまいました。

申し訳有りません。マスターの本業に差し支えない程度にお願いします。



[2909] Re7:「886_ChangeMojiCode-04」について。返信 削除
2010/1/4 (月) 21:57:14 Null
 ▼ Mr.XRAYさん

お手数をお掛けしております。

あれこれ、テストのし過ぎで混乱してしまいました。
数種類のサンプルを混同して話をしているような?。

色々触っているうちに区別が出来なくなりました。
明日、もう一度確認をやり直します。

頭を冷やして、仕切り直しです。


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82