2007/07/11

SQL ServerのJIS2004対策セミナーに行ってきました


MSDNオフラインセミナー:SQL Server 2000/2005 [JIS X 0213:2004 対応に関するガイドライン] 技術ポイント解説 
日時:2007/07/09 18:30~20:00
場所:小田急ホテルセンチュリーサザンタワー

最近は、JIS2004にアプリケーションはどのように対処すればよいのか調べていますが、影響範囲が大きすぎて、アプリケーションの入り口で、問題を起こす文字をはじく方向に傾きつつ今日この頃です。

 さて、Microsoftから公開されている、下記ドキュメントの解説を行っていただけるということで、セミナーに行ってきました。

いやぁ、このドキュメントは、文字コードにもともと詳しいのならともかく、一度解説を受けないと理解するのは難しいですね。 

まず、JIS2004には3つの文字分類があります。

  • 標準字形
    • JIS2004で字形が変わった文字
    • 「MSゴシック明朝JIS04字形とJIS90字形.pdf」を参照
  • 補助文字
    • いわゆるサロゲートペア文字
    • 「MSゴシック明朝V5.00フォントアップデート情報.pdf」を参照
  • 結合文字
    • 通常の文字の「か」などに、「゜」を結合した文字
    • 「MSゴシック明朝結合文字.pdf」を参照

なお、PDFの資料は下記からダウンロード可能です。

 

そして、下図がなかなか難しい。

JIS2004
『SQL Server の JIS2004 対応に関するガイドライン』15頁より

この図が意味するのは、以下のようなことです。

「MS*」フォントも、「メイリオ」フォントも、JIS2004をサポートした上で、中国語のみのフォントもサポートしていますが、両者は微妙にサポートしている文字が違います。

そして、Vistaの中国語フォントは、JIS2004をサポートした上で、「MS*」フォントと「メイリオ」の両方の中国語のみのフォントフォントをサポートしています。但し、Vistaの中国語フォントは、結合文字をサポートしません。

 

あと、下図はJIS2004の特殊な文字をまとめた表になっており、JIS2004の検証用として使用できます。説明を聞くまでは、そんな大事なものとは気がつきませんでしたが。。。

JIS2004用検証文字
『SQL Server の JIS2004 対応に関するガイドライン』13頁より

 

また、Unicode, JIS, SQL Server の内容やリリース時期を、よく理解しておく必要があるかと。

SQL Server Unicode JIS2004
2000 Unicode2.0 (1996年) 仕様のみサポート
2005 Unicode3.2 (2002年) 文字も割り当て

 

SQL Server 2000は、Unicode2.0をサポートしているので、JIS2004を扱うことは一応できますが、補助文字(サロゲートペア文字)などは文字として割り当てられていない(重み値がない)ため、照合順序によっては、正しく補助文字を扱うことができません。

じゃあ、SQL Server 2005は安泰かというとそうでもなく、結合文字には重み値が割り当てられていないため、照合順序によっては、正しく結合文字を扱うことができなかったりします。

 

そして、問題をさらにややこしくするのが、SQL Server 2000/2005 両方で、Transact-SQL の文字列操作関数が補助文字と結合文字を正しく扱えないことです。

一応、SQL Server 2005には、SQL CLR用の「StringManipualteサンプル」はありますが、こういったものを使用しないとJIS2004に対応できないのは、しんどいですね。

他にも、照合順序が関連してきたりして複雑になります。

 

うーむ。JIS2004対応は、本当に手強いですねぇ。。。

でも、セミナーに参加してよかったです。

自力でここまで理解するのは、ちょっと難しいですからね。

 

■関連サイト

■関連セミナー

■関連エントリー

 


スポンサーリンク


このエントリーをはてなブックマークに追加




Twitter ではブログにはない、いろんな情報を発信しています。


コメント

コメントを書く



プロフィール

  • 名前:fnya
    経歴:
    SE としての経験は15年以上。様々な言語と環境で業務系システム開発を行い、セキュリティ対策などもしていました。現在は趣味SE。

    Twitter では、ブログでは取り上げない情報も公開しています。


    ブログについて

    このブログは、IT、スマートフォン、タブレット、システム開発などに関するさまざまな話題を取り上げたり、雑感などをつづっています。

    >>ブログ詳細
    >>自作ツール
    >>運営サイト
    >>Windows 10 まとめ

    Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから