[前][次][番号順一覧][スレッド一覧]

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]