mysql:9501
From: IWAMURO Motonori <IWAMURO Motonori <iwa@xxxxxxxxxx>>
Date: 1 Jun 2004 11:52:26 +0900
Subject: [mysql 09501] Re: 日本語対応上の問題点
岩室です。 In message "[mysql 09483] Re: 日本語対応上の問題点" on 04/05/31, とみたまさひろ <tommy@xxxxxxxxxx> writes: > > しかし! その情報はアプリケーションが動いている環境でしか取得できなくて、 > > 端末エミュレータを動かしている環境では把握できないのですよ!!ヘ(T_T)へ > > すいません、良くわかりません…。端末エミュレータって kterm とか > teraterm とかのことですよね。 はい。 > kterm や teraterm でどっかのサーバにログインして、アプリケーション > (たとえば vi コマンド)を動かしている場合は、そのアプリケーションがマ > ルチバイトの情報を得られればいいですよね…。 はい。 # 端末に出力したら1カラムなのにアプリケーションは2カラムだと思っている、 # とかその逆とかが問題になるわけなので。 > setlocale() の枠組みの中でカラム数を調べる場合は OS 依存だし、複数のロ > ケールを扱うアプリケーションの場合は、アプリレベルで頑張るしかない… > っていうのは、今までと変わらないと思います。 EUC-JPやShift_JISを扱っている限りはそれだけあれば実用上の問題は出ない と思うんですが、Unicodeがからむ場合はそれだけでは解決できない問題がい ろいろあって、何か新しい枠組が必要なのではないか、とも思わないではない です。 > 今まで日本語の扱いに苦労してきた身からすると、結局 Unicode なんて、新 > しいロケールが一つ(もっとか)増えたに過ぎないってことですな :-) あー、よく考えれば、ロケールが一つである必然性はないんですよね。 Unicodeに関するエンコーディングも「UTF-8」だけである必要はないし。 (EUC-JPにもEUC-JP-openとかEUC-JP-msとかあるようですし) 以下のようにすれば解決するでしょうか。 新エンコーディング名: UTF-8-α-β-γ α - 標準規格に由来する文字であるにもかかわらずコードポイントがベンダ 依存であるものを判断するための識別子。「ms」「mac」「java」の値を 取る(※後述) β - Unicode正規化形式。「d」「c」「kc」「kd」の値を取る。(cの場合、濁 点、半濁点付きの文字は単独の文字で表されるが、dの場合、結合文字で 表現される) γ - East Asian WidthがAmbiguousな文字幅の取扱い。「h」なら1、「f」なら2 ※代表的な例を以下に示す。(他にもいっぱいあるよーですが) ・ms 「〜」= FULLWIDTH TILDE 「−」= FULLWIDTH HYPHENMINUS 「 ̄」= FULLWIDTH MACRON ・mac 「〜」= WAVE DASH 「−」= MINUS SIGN 「 ̄」= OVERLINE ・java 「〜」= WAVE DASH 「−」= MINUS SIGN 「 ̄」= FULLWIDTH MACRON とりあえず、 ・UTF-8-ms-c-h ・UTF-8-ms-c-f ・UTF-8-mac-d-h ・UTF-8-mac-d-f ・UTF-8-java-c-h ・UTF-8-java-c-f があれば実用上は十分でしょう。 # うっわー、頭わる〜(;_;) ## でも、真面目な話、例えば「プロジェクト報告書2004年5月31日〜6月4日」 ## というデータをUTF-8でDBに格納したとして、上の3種類 ## (ms-c/mac-d/java-c)で全部バイトパターンが違うんですよ? ## 実際問題、どーします? ### 冗談のつもりなんですが、まぢめにどこかに提案するのも良いかもしれない……。 -- 岩室元典 [E-Mail: vmi@xxxxxxxxxx / iwa@xxxxxxxxxx] 「……雑でした」(「Fate/stay night」TYPE-MOON)
9444 2004-05-27 12:11 [Hirofumi Fujiwara <f] 日本語対応上の問題点 9445 2004-05-27 12:28 ┣[seiji takegata <take] 9450 2004-05-27 15:23 ┃┗[IWAMURO Motonori <iw] 9458 2004-05-28 11:28 ┃ ┗[Hirofumi Fujiwara <f] 9459 2004-05-28 13:53 ┃ ┣[seiji takegata <take] 9462 2004-05-28 15:38 ┃ ┃┗[IWAMURO Motonori <iw] 9463 2004-05-28 15:57 ┃ ┣[IWAMURO Motonori <iw] 9464 2004-05-28 16:14 ┃ ┃┗["Kim, Dong Kyu" <kim] 9466 2004-05-28 18:58 ┃ ┃ ┗[深海水草 <VYG01106@x] 9465 2004-05-28 18:58 ┃ ┗[深海水草 <VYG01106@x] 9467 2004-05-28 19:32 ┃ ┗[Hirofumi Fujiwara <f] 9446 2004-05-27 12:36 ┣[SUGAWARA Hajime <sug] 9447 2004-05-27 12:41 ┃┣["T.P.S.Nakagawa" <ya] 9448 2004-05-27 13:04 ┃┃┗[SUGAWARA Hajime <sug] 9449 2004-05-27 13:10 ┃┃ ┗["T.P.S.Nakagawa" <ya] 9455 2004-05-27 17:55 ┃┣[Hirofumi Fujiwara <f] 9456 2004-05-27 22:48 ┃┃┗[SUGAWARA Hajime <sug] 9469 2004-05-28 23:11 ┃┗[とみたまさひろ <tomm] 9480 2004-05-31 11:19 ┃ ┗[IWAMURO Motonori <iw] 9483 2004-05-31 15:46 ┃ ┣[とみたまさひろ <tomm] -> 9501 2004-06-01 11:52 ┃ ┃┗[IWAMURO Motonori <iw] 9502 2004-06-01 12:12 ┃ ┃ ┣[SUGAWARA Hajime <sug] 9509 2004-06-01 16:36 ┃ ┃ ┃┗[IWAMURO Motonori <iw] 9528 2004-06-03 18:30 ┃ ┃ ┃ ┗[とみたまさひろ <tomm] 9507 2004-06-01 13:49 ┃ ┃ ┗[とみたまさひろ <tomm] 9488 2004-05-31 21:41 ┃ ┗[Hirofumi Fujiwara <f] 9489 2004-05-31 22:10 ┃ ┗[mohri <mohri@xxxxxxx] 9491 2004-05-31 22:33 ┃ ┗[ML account <ml@xxxxx] 9492 2004-05-31 22:48 ┃ ┣[mohri <mohri@xxxxxxx] 9493 2004-05-31 23:12 ┃ ┃┗[ML account <ml@xxxxx] 9494 2004-05-31 23:26 ┃ ┃ ┗[mohri <mohri@xxxxxxx] 9512 2004-06-01 17:45 ┃ ┗[Hirofumi Fujiwara <f] 9451 2004-05-27 15:44 ┗[UNO Shintaro <uno@xx]