Lotus Notes/Domino 複数言語環境の解説 IBM Software Group 日本アイ・ビー・エム システムズ・エンジニアリング株式会社 日本アイ・ビー・エム株式会社 ソフトウエア事業
by user
Comments
Transcript
Lotus Notes/Domino 複数言語環境の解説 IBM Software Group 日本アイ・ビー・エム システムズ・エンジニアリング株式会社 日本アイ・ビー・エム株式会社 ソフトウエア事業
® IBM Software Group Lotus Notes/Domino 複数言語環境の解説 日本アイ・ビー・エム システムズ・エンジニアリング株式会社 日本アイ・ビー・エム株式会社 ソフトウエア事業 © 2006 IBM Corporation IBM Software Group | Lotus software 特記事項 本資料の記載内容は、正確なIBMのテストやレビューを受けておりません。内容につ いて、できる限り正確を期すよう努めておりますが、いかなる明示または暗黙の保証 も責任も負いかねます。本資料の情報は、使用先の責任において使用されるべき ものであることを、あらかじめご了承ください。 掲載内容は不定期に変更されることもあります。他のメディア等に無断で転載する 事はご遠慮ください。 本資料の著作権は日本アイ・ビー・エムにあります。非営利目的の個人利用の場合 において、自由に使用してもかまいませんが、営利目的の使用は禁止させていただ きます。 IBM、AIX、WebSphere、はIBM Corporation の商標。 Lotus、Lotus Notes、Lotus Dominoは IBM-Lotus の商標。 その他、記載された社名および製品名は、それぞれ社名の商標または登録商標で す。 当資料は2006年11月06日に、ビジネスパートナー様および弊社社員向けに開催 されセミナーの資料です。 記述内容は、2006年11月06日時点の情報に基づいています。 2 IBM Software Group | Lotus software 1カ国内では・・・ 1台(または複数台)のサーバーに複数の クライアントがアクセスしても(基本的には) 1つの言語しか利用しないため、システムを 構築する際に「言語」が考慮点にはならない ケースが多い クライアント 日本語 OS 日本語 Lotus Notes サーバー 日本語 OS 日本語 Lotus Domino 日本語アプリ 3 IBM Software Group | Lotus software 複数国にまたがると・・・ どの言語版の製品を使用してシステムを構築するのか? 複数言語を扱う場合に特有な設定はあるのか? アプリケーションに使用する言語は? など「言語」を考慮する必要が出てくる OSやLotus Notes/Domino はどの言語を使えばよい? 違う言語体系のクライアント やサーバーにデータを送っても 大丈夫? 第3章 第1章 Lotus Notesクライアントで複数 言語入力・表示できる? どの国のクライアントにも適した 表示をアプリケーションでさせた い! 4 各国間でのメール送受 信などのために必要な サーバーの設定は? 第2章 IBM Software Group | Lotus software Agenda 【第1章】文字コードの基礎 文字コードとは Lotus Notes/Domino内の文字コードについて サポートされた多言語環境の構成 【第2章】 クライアント&多言語対応アプリケーション Lotus Notesクライアントと多言語 Language Packとは アプリケーション開発について 【第3章】サーバー&考慮点 HTTPサーバーと言語設定 メールサーバーと言語設定 多言語環境構成例 5 IBM Software Group | Lotus software (ブランクページ) 6 ® IBM Software Group 1.文字コードの基礎 © 2006 IBM Corporation ® IBM Software Group 文字コードとは © 2006 IBM Corporation IBM Software Group | Lotus software 文字コードとは 文字と文字符号の関係を決めた対応表 ASCII Shift_JIS ISO2022 Unicode など 内部コードと外部コード 内部コード 内部処理用の文字コード EUC-JP、Shift_JISなど 外部コード データを他のコンピューターと交換するための情報交換用文字コード ISO 2022など 【例】ASCII文字コード表 メールやインターネットなどネットワークを介してデータ通信の需要により標準化 ISO規格;ISO(国際標準化機構)が決めた規格 JIS規格;JISC(日本工業標準調査会)が審議、主務大臣が認可した規格 多くのJIS規格はISOに適合 9 IBM Software Group | Lotus software 主な文字コード(1) ASCII(American Standard Code for Information Interchange) 最初から外部コードとして考えられたが、初期のパソコンで内部コードとして爆発的に使用さ れ、標準文字コードとして認知される 英語を書くことを目的に考えられているが、ほぼ全てのコンピューター/OSで表示可能 7ビット ASCIIをもとに国際化がはかられる 複数言語をカバー 【ISO 2022】-複数のコード系を切り替える仕組み 複数のコード表を切り替える コード表の切れ目に「エスケープシーケンス」という文字列をいれる など詳細に取り決め 次に示す「ISO2022に準拠」は厳密にはISO2022の 一部に限定的に従ったコード体系 10 IBM Software Group | Lotus software 主な文字コード(2)- 日本語(ISO 2022準拠) JISコード JIS X 0208 JIS X 0212(補助漢字コード系) JIS X 0213(第3、第4水準漢字含む) 7ビット 前提条件をつけて簡略化 ISO-2022-JP 半角カナがない 7ビット RFC1468にて定義 インターネットでメールを送る際には 7bitのコード体系で送る →ISO-2022-JPを利用 EUC-JP AT&Tが世界各地で制定した局地版文字コードEUC(Extended UNIX Code)の日本版 主にUNIX環境下で使用 JIS X 0212補助漢字まで使用可能 半角カナが2バイトになる 8ビット 11 IBM Software Group | Lotus software 主な文字コード(3)- 日本語(非ISO 2022) Shift_JIS(MS漢字コード) 日本において、デファクトスタンダードと言える文字コード系 Windows、Macintoshにおいて(各社で拡張して)標準的に使われるコード JIS規格ではない(アスキー社が開発した日本独自の文字コード) JIS X0201コード表の未定義部にJIS X 0208の漢字コードを挿入(使用領域をシフト) • エスケープシーケンスなしで1バイト文字と2バイト文字を混在させている 8ビット 問題点あり 12 ISO 2022と簡単に変換できない プログラムで使う制御コードが漢字コードの一部として紛れている IBM Software Group | Lotus software 主な文字コード(4) Unicode(ISO 10646) 世界規格として単一のコード系構想 ISOとUnicodeコンソーシアムが制定 文字集合と文字コード系を厳密に区別 文字集合:UCS • UCS-4:32ビットを使った符号化文字集合 エンコーディング方式:UTF • UTF-16:1文字を16ビットのコードを1または2個使用して表示 • UTF-8:1文字を8ビットのコードを1~6個使用して表示 ※ASCII部分がASCIIと共通→ASCIIと互換性あり ※漢字/カナは3バイト必要 ISO 2022との互換性はない ISO2022:各国の文字集合の規格を組み合わせ、また切り替えて使用する 【考え方】普段必要とする文字を含む文字集合を組み合わせて運用し、それ以外の文字が必要 となった場合は、その文字を含む文字集合に動的に切り替える 新JIS(JIS X 0208-1908)、補助漢字(JIS X 0212-1990)がサポートされる 13 IBM Software Group | Lotus software 文字集合と文字コード系 文字集合 ある文字の意味のある集まり(使用単位) アルファベット(a,b,c・・・y,z)、数字、ひらがな 個々の文字に符号(コード)をふる 符号化文字集合 厳密には、「文字コード系」ではないが、符号化文字集合=文字コード系のことが多い 符号化文字集合を「エンコーディング方式」に基づいて個々の文字を符号化し通信する 14 文字コード体系 文字集合(文字セット) エンコーディング方式 ASCII ASCII(ANSIと呼ばれる場合もある) ASCII ISO-2022-JP (JIS) ASCII、JIS X 0201 の一部、JIS X 0208 ISO-2022-JP Shift_JIS Microsoftの独自規格 ASCII、JIS X 0201、JIS X 0208 を扱う MS932(Windows31J、CP932) CP943C EUC 主にUNIXにおいて使用されてきた規格 ASCII、JIS X 0201、JIS X 0208、JIS X 0213 EUC-JP EUC-KRなど Unicode UCS-2、UCS-4 UTF-8/UTF-16 IBM Software Group | Lotus software フォント グリフ 適切なフォントを指定 している必要がある 個々の文字の字形データ フォント 文字コード一揃い文の字形データ 文字コードと字形(グリフ)のデータベースといえる “あ”(MS明朝) で送信 “82A0” 設定しているフォント 表示される文字 MS P ゴシック体 あ MS明朝 あ HGS創英角ポップ あ (Shift_JISの場合) Symbol 15 □ 文字化け! IBM Software Group | Lotus software 【参考】Unicode対応フォントのインストール WindowsXP/2000に付属している基本的なフォントはUnicode対応のフォントである ため、適切なフォントを指定することで「æ」「ä」「£」のような文字を入力・表示できる 1. もしできない場合はUnicode対応フォントをOSにインストールする 【参考】http://www.microsoft.com/japan/office/ork/three/inte03.mspx 2. Lotus Notesクライアントにてインストールしたフォントを使用できるようにする 【参照】Lotus Notesクライアントヘルプ 「Unicodeを使用して特殊文字を文書に追加する」参照 フォント依存文字もあるため、入力側と出力側で使用するフォントによっては文字化け が発生する場合がある 文字のプロパティからフォントを知ることができる 16 IBM Software Group | Lotus software 文字コードの問題 (互換性のない)コード系の残存・使用 外字 機種依存文字 ユーザー定義文字 英語とヨーロッパ諸言語・日本語の違い ヨーロッパ諸言語:ダイアクリティカルマーク 日本語:文字量の多さ まだ規格の統一が未完全 Unicodeに未対応なシステム残存 ・・・ 「文字化け」の発生 17 IBM Software Group | Lotus software 文字化けのパターンとその対応(1) 文字コードが正しく変換されない 誤った文字コードに変換 OS、ミドルウェア上の設定の問題(後述) アプリケーション上の設定の問題(後述) コード変換に潜在する問題 • 文字コード系により、1つの文字に定義されているコードが異なる場合 • 1つの文字が2つのコードをもつ場合(ベンダー選定文字) • 文字コード系によって、対応が1対多になる場合 環境・状況にもよるが、表示側でもと(入力時)に使用された 文字コード系を設定できれば文字化けを解消可能 適切なエンコーディング方式(コンバーター)を選択することで防止 対応する文字コードがないため ユーザー定義などの外字 「同じ文字コード系を使用する・同じ定義を施す」対応が表示側で 取れない場合が多いため、規格内の文字のみを使用し、外字など は使用しないようにする 18 IBM Software Group | Lotus software 文字化けのパターンとその対応(2) 文字コードは正しいが、表示上問題がある 表示用アプリケーションの設定 $や(が多い →ISO-2022-jpを別の文字コードで読み込み 半角カナが多い →EUC-JPをShift_JISで読み込み ブラウザー:エンコードが適切に選択されていない場合 フォントの設定:表示したい文字が設定しているフォントにない場合 ブラウザのエンコード設定を適切なものに変更する (IEの場合、[表示]-[エンコード]設定を確認・変更する) フォントの設定を変更するか、対応しているフォントをインストールする ビット数の違い(インターネットメールにおいて) 8ビットの文字コードのデータが7ビットしか対応していないMTAなどを通過すると・・・ 8ビット目が落とされたり、7ビットにエンコード(quoted-printable/base64)してリレー • ヘッダーにエンコード情報が入る(はず) エンコード方式と表示側のエンコード方式の設定を確認する (8ビット目が落とされた場合は対応不可) デコードが正しくなかったりメーラーがデコードしなければ文字化けする 設定変更などで適切なデコードをし直せるようであれば再デコード 19 ® IBM Software Group 参考資料 ~各コード体系の関連性~ ~コード変換に潜在する問題~ © 2006 IBM Corporation IBM Software Group | Lotus software 各文字コード体系の関連性 ASCII 国際化;規格化 ISO646 JIS X 0212 補助漢字まで JIS X 0201 半角カナが2バ イトになる EUC-JP for UNIX JIS X 0201 がベース JIS X 0208 の漢字コードを ずらして含ませている JIS X 0212 の補助漢字は 使えない ISO 2022に非互換 日本語版 JIS X 0201 複数言語を1ファイルで切り替え可 2バイト文字使用可 ISO 2022 準拠 JIS規格 JIS X 0208 補助漢字を追加 非互換 JIS X 0212 第3水準・第4水準を追加 JIS X 0213 簡易日本語版 (RFC1468) Shift_JIS (デファクトスタンダード) ISO-2022-JP 半角カナがない 21 IBM Software Group | Lotus software コード変換に潜在する問題(1) ¥、~問題 Unicodeでは¥と\(バックスラッシュ)、~(チルダ)と ̄(オーバーライン)の区別がある Shift_JISでは、¥と ̄(オーバーライン)しか定義されていない Shift_JIS→Unicodeへの変換時に、2通りの文字コードポイントが存在するために、誤った変 換や文字の欠落を招く可能性がある 文字コード Shift_JIS Unicode 005C コードポイント 文字 0x5C \ ¥ 00A5 ¥ 22 IBM Software Group | Lotus software コード変換に潜在する問題(2) 新JIS、旧JIS問題 新JIS(1983年)と旧JIS(1978年)の制定において、同じ漢字であるが字形の異 なる文字(22組44文字)についてのコード・ポイントの入れ替えが行われた よくある問題としては、プリンターが新JISと旧JISを認識できないために、入れ替 わって表示されてしまうことがある 新JIS( JIS X0208 1983) 旧JIS(JIS X0208 1978) 23 5268 壷 3659 3659 壺 5268 IBM Software Group | Lotus software コード変換に潜在する問題(3) ベンダー選定文字問題(2つのコードポイント) 同一文字コード上で、同一文字に対しベンダーの選定文字が重複して定義されている ケースがある 単一コードの文字コードに変換後、重複文字コードに変換し直す場合に正しく変換されな い可能性がある Shift_JIS Unicode 878A 878A NEC選定文字 NEC選定文字 3231 FA58 FA58 IBM選定文字 IBM選定文字 ㈱ 24 Shift_JIS IBM Software Group | Lotus software コード変換に潜在する問題(4) ~(WAVE DASH)問題 Shift_JISとUnicodeの対応が1対多になる文字がある Shift_JISのエンコーディングMS932とCp943で変換結果が異なる Unicode Shift_JIS FF5E FF5C MS系 MS系 8160 301C 301C IBM系 IBM系 ~ 25 Unicode ® IBM Software Group Lotus Notes/Domino内の文字コードについて © 2006 IBM Corporation IBM Software Group | Lotus software LMBCS(Lotus Multi-Bytes Character Set) Lotus Notes/Dominoを含むLotus製品で使用される内部文字セット Lotus Notesクライアントにおいて、表示とデータの格納では使用する文字セットが異なる 文字を格納:LMBCS 表示・印刷:ローカルのキャラクタセット クライアント、サーバー、OS環境に影響されない Lotus Notes/Dominoは、製品として多言語対応している 言語の異なるサーバーを 経由しても問題ない Lotus Notes内に格納時 LMBCSに変換される クライアントローカルの 適切なキャラクターセットに 変換して表示 LMBCS 日本;Shift_JIS 27 US;ASCII IBM Software Group | Lotus software 【参考】LMBCSの基本的な考え方 First Byteに「CountryCode」となる値を指定し、その後ろで実際の文字のコードを指定 している(下表は一部) First Byte Second Byte 1 1-127 Special Character 128-255 CodePage850 16 Second code group byte 1-127 Undefined 16 16 161-223 カタカナ 129-159 or161-254 Lead byte 128-255 漢字 (CodePage932) 16 32127 Latin-based Japanere Third Byte U.S. ASCII 【例1】 FirstByte 16 SecondByte 16 ThirdByte 214 → 「ヨ」 【例2】 FirstByte 16 SecondByte 147 ThirdByte 250 → 「日」 28 IBM Software Group | Lotus software 【留意点】LMBCSに関して 日本語は3バイト使用 サイズ制限がある場合など、注意が必要 検索フィールド ファイル名 添付ファイル指定時のファイルパス など ※特に、ファイルバス指定などOSと関連する場合、シングルバイトの文字のみ使用してい る場合は、Lotus Notesのサイズ制限よりもOSのサイズ制限が先にくるが、ダブルバイト 文字を多様すると、OSのサイズ制限よりもLotus Notesのサイズ制限が先に影響する ビューのソートに関して R5からLMBCSの変換テーブルが変更された部分があるため、R5以前のバージョンとビュー のソート・カテゴライズが変わる場合がある 29 R5.0-R5.04(R5.05で修正) ベンダー定義外字で複数定義がある文字 ® IBM Software Group サポートされた多言語環境の構成 © 2006 IBM Corporation IBM Software Group | Lotus software 多言語環境のサポート構成(1) Lotus Dominoサポート構成 OS 英語版(US 英語版(日本 日本語・ Win2000+ Win2003+ 日本語版 ロケール) 語ロケール) 英語以外 MUI(日本語) MUI(日本語) 英語版 ○ ○ ○ ○ ○ ○ 英語版+日本語LP × ○ × ○ ○ ○ 日本語版(*) × × × ○ × ○ * Domino7では「日本語版」はなくなり「英語版+LP」のみとなっている Lotus Notesサポート構成 英語版 日本語版 OS 英語版(US 英語版(日本 日本語・ 日本語版 Win2000+ Win XP+ ロケール) 語ロケール) 英語以外 MUI(日本語) MUI(日本語) ○ ○ ○ ○ ○ ○ × × × ○ × ○ (補足)Windows MUI機能とは Windowsの操作をする時のUIとして、 Windowsサーバーのメンテナンスを複数言語で管理できるよ うにするためのOSの機能。なお、Lotus Notes MUI Packとは関係ない。 31 IBM Software Group | Lotus software 多言語環境のサポート構成(2) 異なる言語サーバー間/サーバー・クライアント間の接続 サポートされる また、Lotus Notes/Domino内部ではLMBCSを使用するため、異なる言語環境間の複製や ルーティングもサポートされる ただし、設計要素の複製や、メール・アプリケーションの文字化け等の考慮が必要(後述) 日本語 Lotus Domino 英語 Lotus Domino 基本的に接続 (複製・ルーティング) はサポートされる 【注意】 サポートはされるが 推奨されない 日本語テンプレート 日本語 Lotus Notesクライアント 中国語 Lotus Notesクライアント 英語 Lotus Notesクライアント 32 ® IBM Software Group 2.クライアント&多言語対応アプリケーション © 2006 IBM Corporation ® IBM Software Group Lotus Notesクライアントと多言語 © 2006 IBM Corporation IBM Software Group | Lotus software Lotus Notesクライアントにおける表示・入力に関わる設定 表示について Lotus Notesクライアントの設定 ユーザープリファレンス 基本タブ インターナショナルタブ (参考)Lotus Notes MUI Packによ る表示言語の追加 OSの設定 コントロールパネル ロケールの設定 タイムゾーンの設定 35 入力について OSの設定 言語オプションの設定 IBM Software Group | Lotus software Lotus Notesクライアントにおける多言語文字の表示方法 LMBCSで格納している文字情報を変換する際に各ローカルの規定値の設定され た言語に変換する ただし 以下の設定がなされている場合は、Unicodeに変換される(デフォルト) ユーザープリファレンス 基本タブ-追加のオプション • 「Unicode表示を有効にする」にチェック(デフォルト) (notes.iniの「UNICODE_DISPLAY=1」と同意) 【例】 「 文書を保存する デフォルトだと 36 」と入力して 上記項目のチェックを外すと IBM Software Group | Lotus software Lotus Notes内での表示に関わる言語設定 ユーザープリファレンス-インターナショナル(全般) 1 2 1. マルチリンガルデータベースを使用時に設定(後述) 設定した言語の設計要素が使用される 2. クライアントのUI変更(次頁参照) 37 メニューなどのシステムメッセージの言語を変更 IBM Software Group | Lotus software 日本語クライアントのインターフェースの言語を変更すると・・・ 38 IBM Software Group | Lotus software Lotus Notes 7 MUI (Multilingual User Interface) Pack Lotus Notes7.0からリリース Lotus Notes7 英語版にインストールし、ユーザーインターフェースを英語版以外の言語 に切り替える 言語により3つのグループに分かれている G1;日本語, 繁体字中国語, 簡体字中国語, 韓国語, フランス語, ドイツ語, イタリア語, ス ペイン語, ポルトガル語(ブラジル), カタロニア語(*7.0.2から追加) G2;デンマーク語, オランダ語, ノルウェー語,スウェーデン語, フィンランド語 G3;アラビア語, チェコ語、ギリシア語, ヘブライ語, ハンガリー語, ポルトガル語(イベリア), ポーランド語, ロシア語, スロベニア語, タイ語, トルコ語 ※デフォルトでは1グループの言語が全てインストールされるため、インストール時に必要な言 語のみ指定する 適用可能環境 英語版 Lotus Notes7で使用するので、OS等の動作要件は、英語版 Lotus Notes7に準 じる Windows版のみ クライアントとMUIは同じリリースを使う必要がある • Lotus Notesクライアントを7.0.1にあげれば、MUIも7.0.1にあげなければならない UIのみで、テンプレート・DBが多言語対応するわけではない 39 IBM Software Group | Lotus software Lotus Notes 7 MUI (Multilingual User Interface) Pack(2) 英語版 Lotus Notesだと「追加の設定」項目自体な いがMUI Packをインストールすることで、導入した 言語がインターフェースの言語として選択可能とな る 40 IBM Software Group | Lotus software Lotus Notesクライアントにおける表示とOS上の設定について(1) OS上の設定が表示に関係する コントロールパネル 地域オプション(WindowsXP) システムロケール(Windows2000) 変更すると日付や通貨などの表示が変わる 例:日本語から英語(英国)にすると・・・(WindowsXPの場合) 日付の表示のされ方が変わる 41 IBM Software Group | Lotus software Lotus Notesクライアントにおける表示とOS上の設定について(2) OS上の設定が表示に関係する タイムゾーン 42 OSのタイムゾーンに沿った時刻表示 ひとつのDBを異なるタイムゾーン で開いた場合の表示 【例】 上図:日本 下図:US IBM Software Group | Lotus software Lotus Notesクライアントにおける表示・入力に関わる設定 表示について Lotus Notesクライアントの設定 ユーザープリファレンス 基本タブ インターナショナルタブ (参考)Lotus Notes MUI Packによ る表示言語の追加 OSの設定 コントロールパネル ロケールの設定 タイムゾーンの設定 43 入力について OSの設定 言語オプションの設定 IBM Software Group | Lotus software Lotus Notesクライアントにおける多言語文字の入力方法 OSの設定が関係する Microsoft Global IME(※)は不必要 OSの言語オプションの設定を変更する WindowsXP:地域と言語のオプション-地域オプション(テキストサービスと入力言語) Windows2000:地域のオプション-入力ロケール(入力言語と入力方式) • 入力したい言語体系を追加 • 「Alt+Shift」にて複数言語を切り替えて入力可能になる ほとんどの言語がインストールされているが、それ以外の言語(タイ語、アラビア語など) を入力したい場合はインストールが必要 • WindowsXP:「言語」-「補足言語サポート」にチェック:追加機能をインストール • Windows2000:「システムの言語設定」で追加したい言語にチェック →入力ロケールに追加することで使用可能 ※東アジア言語の入力機能を強化し、日本語など複雑な文字や記号を標準キーボードを使って入力 可能となる (対象 : Windows ME、Windows 98、Windows 95、Windows NT 4.0) 44 ® IBM Software Group Language Packとは © 2006 IBM Corporation IBM Software Group | Lotus software Language Packとは 英語版Lotus Dominoサーバーに対して各言語の機能を付加するためのもの 導入した言語または複数言語に対応したサーバーを構築可能 ※Language Packを導入しなくてもLotus Notes/Dominoは多言語対応 内部にデータを格納する際に用いられるLMBCSは40以上の言語に対応 例えば・・・ Lotus Notes/Dominoが英語版であっても日本語の文書を表記・保存・表示可能 ただし、 ユーザーインターフェース(フォームやビューなどの設計要素やシステム・メッセージ)は 英語表記のまま このユーザーインターフェースを 使用したい言語に置き換えるために Language Packを導入する 46 【注意】 Lotus Domino7.0から全てのプラットフォームにおいて 英語版Lotus Dominoのみのリリースとなり、英語以外の 言語版のLotus Dominoサーバーを利用したい場合も Language Packの導入が必要となりました IBM Software Group | Lotus software Language Packの導入モード~追加~ 英語版Lotus Dominoサーバーのモジュールに、各言語に対応したモジュールを「追 加」するか「置換」するか選択する 「追加」モード 既存のテンプレートに、各言語化したフォーム・ビューなどの設計要素を追加し、テン プレートを多言語対応する 複数の言語のLanguage Packを導入することができる Dominoディレクトリを初めとするシステムファイルは英語版のまま 基本は英語版としてLotus Dominoサーバーを利用し、アプリケーションは 多言語対応した「マルチランゲージサーバー」として運用 各要素に導入 した各言語の 要素が追加 されている 47 IBM Software Group | Lotus software Language Packの導入モード~追加~;DB例(詳細は後述) サーバー上のテンプレートを元にDBを作成する際、導入するテンプレートの言語を選択 可能になる 英語と日本語の要素を導入(デフォルト:日本語)すると 上記のように2言語の設計要素をもったDBを開く際、ユーザーにより表示が変わる 日本語ユーザーでは 英語ユーザーでは 48 IBM Software Group | Lotus software Language Packの導入モード~置換~ 英語版Lotus Dominoサーバーのモジュールに、各言語に対応したモジュールを「追 加」するか「置換」するか選択する 「置換」モード 既存のテンプレートを、Language Packの言語のテンプレートで上書き 1度に1言語のテンプレートのみ置き換え可能 導入したLanguage Packの言語版のサーバーとして運用 Language Packを導入(置換) した言語の要素のみ 49 IBM Software Group | Lotus software Language Pack導入時の留意点 サポートされていないテンプレートがある Language Pack導入ガイドに一覧あり 「Bookmark.ntf」はサポートされない デフォルトでは導入するテンプレートに含まれるため明示的にチェックを外す必要がある DWA 基本的にマルチリンガルデータベースとしては使用しないことを推奨 ユーザー登録時にメールファイルを作成する際、追加モードで導入した場合は英語の設 計要素のみを持つデータベースが作成される • “load convert”によりテンプレート置換の必要がある Webブラウザの設定よりDBのプロパティの設定が優先される 複数言語の設計要素が混ざることがある ※ サポートされないテンプレートがあったり、パーティションサーバーに対して導入する際 など留意点があるため、導入する際は必ず導入ガイドを参照してください 50 ® IBM Software Group アプリケーション開発 © 2006 IBM Corporation IBM Software Group | Lotus software 多言語アプリケーションとLotus Notesクライアントの言語の関係 複数言語の設計要素をもったDBが前提 ランゲージパック導入 or 開発 により作成(後述) Lotus Notesクライアントの設定言語にあわせた設計要素を使用させることができる Lotus Notesクライアントの設定 [ユーザープリファレンス]-[インターナショナル]-[全般]-[言語の設定] 日本語 日本語ユーザー 日本語設計要素 英語設計要素 同じDBにアクセス 英語ユーザー 52 英語 IBM Software Group | Lotus software マルチランゲージテンプレートとマルチリンガルデータベース マルチランゲージテンプレートを利用 必要な言語版のランゲージパックを導入する(追加)ことで複数言語に対応 導入した言語のデザイン要素をもつテンプレートとなる 【例】 例えば、日本語版ランゲージパックとフランス語版ランゲージパックを「追加」すると・・・ • 各ユーザー環境に合わせた言語のテンプレートを用いてUI表示 • そのテンプレートから各言語を含むデータベースが作成できる(フランス語のみなど) 【注】 導入する言語の要素をもつためテンプレート自体のサイズが大きくなる 更に設計要素で言語対応が必要となる場合 一部の要素のみを言語対応してサイズをおさえたい場合 マルチリンガルデータベースの作成 データベース内のデザイン要素(フォームなど)を複数言語含む 各ユーザーのユーザープリファレンスの設定に従って表示する 多言語対応アプリケーションの作成方法 1. ランゲージパックを「追加」モードで導入 2. 対象DBの「マルチリンガルオプション」を利用し個別に対応 53 IBM Software Group | Lotus software 【参考】Language Pack適用によるテンプレートサイズの増加 置換:置換する言語が日本語などの2バイト文字といわれる言語の場合、他の言語より もサイズが大きくなる場合が多い 追加:導入する言語の要素分サイズが増加するためテンプレートサイズが倍近くなる (2言語追加する場合は約3倍) 【一例】 テンプレート(KB) ディスカッション (discsw7.ntf) メール (mail7.ntf) 個人ジャーナル (journal6.ntf) 54 英語版Lotus Domino サーバー 日本語版LP導入:置換 日本語版LP導入:追加 1170 1485 2304 16640 18176 34048 576 576 1004 IBM Software Group | Lotus software マルチランゲージテンプレート 日本語版Language Packを「追加」モードでインストール 【例】同じ「sample」というチームルームデータベースに、日本語環境のLotus Notesクライアント が接続した場合と、英語環境のLotus Notesクライアントが接続した場合でのデータベースの 表示のされ方の違い 日本語環境 英語環境 55 IBM Software Group | Lotus software マルチリンガルデータベース Language Packを導入せずに、1つのデータベースでユーザー環境に適した言語 の表示をさせる ユーザープリファレンス-インターナショナル 「一般の設定」に設定されている言語用の設計要素が開く 日本語ユーザー 英語ユーザー 各言語用意していない設計要素は言語依存しない 各言語用意した設計要素はクライアントの言語に 合った要素を使用 56 IBM Software Group | Lotus software 【作成例】日本語と英語に対応したマルチリンガルデータベース 新規データベースを作成する マルチリンガルデータベース属性を設定 データベースプロパティ [設計] タブで [マルチリンガルデータベース] を ON この時[デフォルトの言語] を任意で設定 新規フォーム1(英語用)を作成 「MainTopic」 と名前を付けて保存 英語フォームの属性を設定 デザイナーのフォーム一覧で作成した英語用フォームを選択し、設計プロパティを表示 [設計]タブの[言語]を「英語」に設定 ※ このオプションは[マルチリンガルデータベース]をONにしたときだけ表示される 新規フォーム2(日本語用)を作成 「MainTopic」 と名前を付けて保存 日本語フォームの属性を設定 デザイナーのフォーム一覧で作成した日本語用フォームを選択し、設計プロパティを表示 [設計]タブの[言語]を「日本語」に設定 【参考】Domino Global Workbench 作りこんだデータベースの各設計要素に言語を関連付けるのを支援するツール 57 IBM Software Group | Lotus software マルチリンガルデータベースへのWebアクセス Webアクセスにも対応 Language Pack導入(追加)後、作成したマルチリンガルデータベースもマルチリンガル オプションにより作成したマルチリンガルデータベースも動きは同じ Lotus Notesクライアントの設定(WEBブラウザの設定)とデータベースのデフォルト言語 の設定に従う 【Lotus Notesクライアントの場合】 ユーザープリファレンス(インターナショナルタブ)の言語設定に設定された言語が優先 設定された言語の設計要素がない場合はデータベースのデフォルト言語を表示 【Webアクセスの場合】 Webブラウザの設定言語が優先 (第1優先言語がなければ次の言語を表示) 設定にされた言語の設計要素が場合、データベースのデフォルト言語を表示 58 IBM Software Group | Lotus software 【参考】マルチリンガルデータベースの表示一例 Webアクセスの場合にも対応 Webブラウザの言語設定(とデータベースのデフォルト言語の設定)に従う Webブラウザ設定 データベースのデフォルト言語(英語・日本語要素のみ) 表示される言語 日本語 英語 ドイツ語 日本語 日本語 英語 日本語 ドイツ語 日本語 英語 ドイツ語 日本語 英語 日本語 日本語 ドイツ語 英語 日本語 日本語 英語 ドイツ語 日本語 日本語 ドイツ語 英語 英語 日本語 英語 ドイツ語 なし 日本語 ドイツ語 英語 日本語 なし 英語 59 IBM Software Group | Lotus software マルチリンガルデータベースの注意事項 設計を各言語用意する 設計のサイズが増大;リソースへの配慮が必要 設計の二(多)重管理:各言語の設計に対して運用保守が必要 クライアントの保守 複数の言語を扱う必要がある(サポートなど) 全文検索 検索条件に2種類のマルチバイト言語が混在していると上手く機能しないことがある OSの言語と添付ファイルの言語が異なると上手く機能しないことがある 全文検索作成時、添付ファイルを含めた場合 • テキスト;索引化する前にUnicode変換する。ファイルのコードページがわからない 場合はOSのコードページを利用するため。 HTTP設定 DBに複数言語の入力の可能性がある場合は、出力にサーバー文書にてUTF-8の指定 運用ルールの必要性 複数言語の記入を許可するのか英語のみとするのか 全文索引の作成方法(言語・場所) 60 ® IBM Software Group 3. サーバー&考慮点 © 2006 IBM Corporation IBM Software Group | Lotus software 目次 HTTPサーバーと言語設定 HTTPサーバー基礎知識 Domino HTTPサーバーと言語設定 Domino HTTPサーバーと文字化け メールサーバーと言語設定 インターネットメール基礎知識 Lotus Notes/Dominoにおけるインターネットメールと言語設定 Lotus Notes/Dominoにおけるインターネットメールと文字化け 多言語環境構成例 注:資料中のアドレス帳設定に関する「Domino Web Engine」は、以下いずれかで設定可能で、 どちらで設定しても同様です。 ・サーバー文書「インターネット」-「Domino Web Engine」タブ ・Webサイト文書「Domino Web Engine」タブ 62 IBM Software Group | Lotus software (ブランクページ) 63 ® IBM Software Group HTTPサーバーと言語設定 © 2006 IBM Corporation IBM Software Group | Lotus software HTTPサーバー基礎知識:言語プリファレンス HTTPリクエストヘッダ「Accept-Language」 ブラウザの言語設定に基づいて、希望言語を示す IEの場合[インターネットオプション]-[全般]-[言語] サーバー側が複数言語に対応していれば、ブラウザの言 語設定に応じて、同じURLでも異なる言語で表示される 65 GET / HTTP/1.1 Accept: */* Accept-Language: ja Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (comp Host: www.google.co.jp IBM Software Group | Lotus software Lotus Domino HTTPサーバー設定と言語プリファレンス 「Domino Web Engine」-「デフォルト地域ロケール」の設定 「ブラウザのAccept-Language」の場合(デフォルト) Lotus Dominoサーバーは、ブラウザからの「Accept-Language」の値に従う 「サーバーロケール」の場合 Lotus Dominoサーバーは、OSのロケールに従う 言語プリファレンスの影響 マルチリンガルDBにおける表示言語 日付フィールドの表示形式 66 例:「Accept-Language: ja」 「Accept-Language: en」 →「YYYY/MM/DD」 →「MM/DD/YYYY」 IBM Software Group | Lotus software HTTPサーバー基礎知識:文字コード ブラウザは以下の優先順位で文字コードを判断する 1. HTTPレスポンスヘッダに含まれる「charset」の値 例 HTTP/1.1 200 OK Cache-Control: private Content-Type: text/html; charset=UTF-8 Set-Cookie: PREF=ID=6f0a900a2d6bdb26:TM=116096 2. HTMLソースのMETAタグで設定された「charset」の値 例 <html><head><meta http-equiv=“content-type“ content=”text/html; charset=UTF-8”> (HTML ファイルを保存する場合に、文字セット情報も保存される) 3. HTML内の内容からブラウザが最適な文字コードを推測 67 IBM Software Group | Lotus software Lotus Domino HTTPサーバー設定と文字コード(1) HTTPレスポンスヘッダの「charset」 「Domino Web Engine」-「ヘッダーの文字セット」 「有効」の場合(デフォルト) • Lotus Dominoはcharset を以下の値に設定する − 「出力にUTF-8を使用」が「はい」 ⇒UTF8 − 「出力にUTF-8を使用」が「いいえ」 ⇒「デフォルト文字グループセット」の 文字コード 「無効」の場合 • Lotus Dominoはcharsetを設定しない 「ヘッダーの文字セット」は「有効」にしておくことを推奨 68 ブラウザによる自動判別は誤る場合もある IBM Software Group | Lotus software Domino HTTPサーバー設定と文字コード(2) HTMLのMETAタグの「charset 」 「Domino Web Engine」-「メタ文字セット」 69 はい:HTML のMETAタグにcharsetを設定する いいえ:(デフォルト) HTML のMETAタグにcharsetを設定しない IBM Software Group | Lotus software (ブランクページ) 70 IBM Software Group | Lotus software Lotus Domino HTTPサーバーと文字化け(1) 例:日本語と中国語のユーザーを扱う場合に「Shift-JIS」で出力すると・・・ ブラウザ (中国ユーザー) 文書作成フォームを要求 フォームをcharset=Shift-JISで出力 中国語で文書を作成 ブラウザ (日本ユーザー) Lotus Dominoサーバー (日本語OS+Domino日本語LP) (DBは非マルチリンガル) 中国語として入力された データをShift-JISとして格納 文書の表示を要求 中国語として入力されたデータをcharset=Shift-JISで出力 文字化け ⇒複数の言語を扱う場合は「UTF-8」で出力することを推奨 71 IBM Software Group | Lotus software Lotus Domino HTTPサーバーと文字化け(2) ただし、Unicodeに含まれない各国語文字は正しく表示されない可能性がある 日本語では・・・ • 第三・第四水準漢字の一部 • 「バックスラッシュと円マーク」等、ASCIIとシフトJISで同じ値が異なる文字に 割り当てられているもの 日本語と英語のみを扱う場合は、Shift-JISでも問題ない 72 ® IBM Software Group メールサーバーと言語設定 © 2006 IBM Corporation IBM Software Group | Lotus software インターネットメール基礎知識:メール・フォーマット メールメッセージは、メールヘッダとメール本文で構成される ヘッダ (省略) 本文 74 (省略) IBM Software Group | Lotus software インターネットメール基礎知識:文字コード SMTPでは基本的に7bitコードを使用する 現在では8bit対応サーバーが多いが、規約として送信側は8bitで転送してはいけない そのため、添付ファイル(マルチバイトデータ)なども 7bitにエンコードして転送する 文字コード Shift-JIS 8bitコード 一般にPC端末で入力・表示に使用される日本語コード ISO-2022-JP 7bitコード 7bit の日本語コード メール送受信の際、メーラーが文字コード変換を行う 75 送信側:Shift-JIS(8bit) → ISO-2022-JP(7bit) 受信側:Shift-JIS(8bit) ← ISO-2022-JP(7bit) IBM Software Group | Lotus software インターネットメール基礎知識:MIMEヘッダ 文字コードやエンコード方式は、MIMEヘッダに記述される 送信側メーラー:使用している文字コード・エンコード方式をMIMEヘッダに記述 受信側メーラー:MIMEヘッダの記述に基づいて変換 例 文字コードを示す エンコード方式を示す 76 IBM Software Group | Lotus software Lotus Notes/Domino におけるインターネットメールと多言語対応 Lotus Notes/Dominoは多言語に対応している インバウンドメール 送信されたメールのMIMEヘッダ「charset」から文字コードを判断し、変換を行う アウトバウンドメール 77 メールのテキストから文字コードを判別し「charset」を設定して送信する IBM Software Group | Lotus software Lotus Notes/Domino におけるインターネットメールと文字コード変換 文字コード変換はサーバー/クライアントどちらが行うか 構成・設定によって決定される インバウンドメール Lotus Notesクライアントから参照するか、ブラウザから参照するか ユーザー文書「受信メールの形式」 Notesリッチテキスト優先 送信者の形式を保持 MIME優先 アウトバウンドメール Lotus Notesクライアントから送信するか、ブラウザから送信するか (Lotus Notesクライアントの場合) ロケーション文書「インターネットメールアドレス向けのメールの形式」 Notesリッチテキスト形式 MIME形式 *各パターンごとの変換の詳細は「参考資料」参照 78 IBM Software Group | Lotus software Lotus Notes/Domino におけるインターネットメールと文字化け(1) インバウンドメール 文字化けの原因 大半は、「charset」を宣言していないなど送信側のRFC違反 文字化けの予防 「charset」がない場合に「自動判別」を行うことが可能 • サーバー設定文書「MIME」-「変換オプション」-「インバウンド」「メールに文字セット情報が無い場合、自動判定を行う」を、「はい」に設定 注:全てのRFC違反メールを救うことはできない。 あくまで本来は送信側が正しく送信するべき 79 IBM Software Group | Lotus software Lotus Notes/Domino におけるインターネットメールと文字化け(2) アウトバウンドメール 文字化けの原因 メールが複数の文字コードを含む「多言語メール」で発生しやすい 文字化けの予防 80 多言語メールはUTF8で送信 (注:受信者のメーラーがUnicode対応であることが前提) • クライアントがブラウザの場合 − 「Domino Web Engine」- 「出力にUTF-8を使用」を、「はい」に設定 • クライアントがLotus Notesで、文字コードをサーバーで変換する場合 − サーバー設定文書「MIME」-「詳細」-「アウトバウンド」-「多言語メールのMIMEへ の変換時」を、「Unicode(UTF8)で送信」に設定 • クライアントがLotus Notesで、文字コードをクライアントで変換する場合 − ユーザープリファレンス文書「MIME」-「詳細」-「アウトバウンド」-「多言語メールの MIMEへの変換時」を、「Unicode(UTF8)で送信」に設定 IBM Software Group | Lotus software (ブランクページ) 81 ® IBM Software Group 多言語環境構成例 © 2006 IBM Corporation IBM Software Group | Lotus software 多言語環境構成例1:シナリオ 環境・要件 本社:日本、支社:中国・米国 クライアント:ブラウザ、Lotus Notesクライアント 要件 1. サーバーやドメイン(アドレス帳)を統合する必要はない 83 IBM Software Group | Lotus software 多言語環境構成例1:構成案 国ごとにサーバーを構築、ドメインも国ごとで分ける 多言語環境による問題がもっとも発生しにくい構成 メールをブラウザから使用することを考慮し、HTTPサーバーはUTF8で出力する 中国語OS 英語Lotus Domino+中国語LP 中国ドメイン 日本語OS 英語Lotus Domino+日本語LP 日本ドメイン 英語OS 英語Lotus Domino USドメイン 中国語ユーザー 日本語ユーザー 84 英語ユーザー IBM Software Group | Lotus software 多言語環境構成例2:シナリオ 環境・要件 本社:日本、支社:中国・米国 クライアント:ブラウザ、Lotus Notesクライアント 要件 1. サーバーを統合する必要はない 2. ドメインはWorldwideで1つとする 85 IBM Software Group | Lotus software 多言語環境構成例2:構成案 国ごとにサーバーを構築、ドメインは1つ アドレス帳の言語は「英語で統一」または「各国言語」 中国語OS 英語Lotus Domino+中国語LP 日本語OS 英語Lotus Domino+日本語LP 英語OS 英語Lotus Domino 共通ドメイン 中国語ユーザー 日本語ユーザー 例1と同様、HTTPサーバーはUTF8で出力する 86 英語ユーザー IBM Software Group | Lotus software 多言語環境構成例2:構成のポイント 同一ドメイン・言語の異なるサーバー間で、システム系DBは何語版を使用するか? パターン①:英語版アドレス帳を使用する パターン②:各言語版のアドレス帳を使用し、データのみ複製する 設計が複製されないように、いずれかの対応を行う • 設計の複製を禁止する(複製設定「詳細」タブ) • ACLを編集者以下にする (参考)日本ではDJXを使用する場合 87 パターン①’ 英語版テンプレートにDJX用設計要素を追加 • 注:「カスタマイズテンプレート」扱いとなるため、何か問題が発生し「標準テンプレート」 に置き換えると問題が再現しない場合は、サポート対象外となる パターン② 上記「パターン②」と同じ IBM Software Group | Lotus software (ブランクページ) 88 IBM Software Group | Lotus software 多言語環境構成例3:シナリオ 環境・要件 本社:日本、支社:中国・米国 クライアント:ブラウザ、Lotus Notesクライアント おもなユーザーは日本 要件 1. サーバーは統合する必要はない 2. サーバー筐体は1つとする 89 IBM Software Group | Lotus software 多言語環境構成例3:構成案 OS論理分割機能によって、国ごとにサーバー環境を分けつつ1つの筐体で構築可能 英語はどの言語環境でも使用できるため、右下図では日本用サーバーに同居 (「LAPR#3」として別途構築することももちろん可能) メール 中国語版 メール 英語版 中国語ユーザー メール 日本語版 英語ユーザー 日本語ユーザー 例1と同様に、HTTPサーバーはUTF8で出力 例2と同様に、ドメインは共通化可能 90 英語 Lotus Domino + 中国語 LP 英語 Lotus Domino + 日本語 LP 中国語 OS 日本語 OS LPAR#1 LPAR#2 IBM Software Group | Lotus software 多言語環境構成例4:シナリオ 前提 本社:日本、支社:中国・米国 クライアント:ブラウザ、Lotus Notesクライアント おもなユーザーは日本 要件 1. サーバーは本社に1台のみとする 2. インターネットメールドメインは国ごとに分ける 91 IBM Software Group | Lotus software 多言語環境構成例4:構成案 Lotus Dominoサーバーは1つ 言語は使用頻度のもっとも高い言語(日本語)にする 特にアドレス帳は多言語環境であることを意識して設定 国ごとにサーバー構築する構成と比べて制限事項は多い 日本語OS 英語Lotus Domino+日本語LP メール 英語版 メールは 英語版を推奨 英語ユーザー 中国語ユーザー メール 日本語版 92 日本語ユーザー IBM Software Group | Lotus software 多言語環境構成例4:構成のポイント 1台のHTTPサーバーをWorldwideで使用する UTF8で出力することで、各言語の文字を正しく表示することが可能 1台のMTAサーバーをWorldwideで使用する 文字コード 多言語メールはUTF8で処理することで、各国の言語を表示可能 自動判別で区別がつかない言語のために、サーバー設定文書「MIME」-「基本」タブを 設定(Administratorヘルプ“サーバー設定文書-[MIME]-[基本]タブ”参照) インターネットメールドメインを分ける 93 インバウンドメール • グローバルドメイン文書にインターネットドメイン別名を複数記述することで、 複数のインターネットメールドメイン宛メールを1台のMTAサーバーで受信可能 アウトバウンドメール • 各ユーザー文書にインターネットメールアドレスを設定することで、 正しい送信者アドレスで送信可能 IBM Software Group | Lotus software 多言語環境構成例4:考慮事項 OSロケールの影響 全文索引 添付ファイルの索引はOSロケールの影響を受ける • この場合、中国語の添付ファイルが正しく検索されない コンソール出力 OSのロケールを使用するため、DB名・設計名・エージェントのPrint文で使用する言語 がOSに入っていないと文字化けする ソート順 DBプロパティで指定可能だが、デフォルトではOSロケールを使用 日付形式 フィールドプロパティで指定可能だが、デフォルトでは実行環境のOSロケールを使用 メンテナンスタスク 通常データバックアップやUpdall、Compactを夜間タスクとして実施するが、日中米で サーバーが1つのため、実行時間帯に注意が必要 94 ® IBM Software Group 参考資料 © 2006 IBM Corporation IBM Software Group | Lotus software 参考資料 インターネットメールにおける文字コード変換:正常ケース インターネットメールにおける文字コード変換:例外ケース インバウンドメール:RFC違反メール アウトバウンドメール:多言語メール メッセージソース取得方法 96 IBM Software Group | Lotus software 文字コード変換:インバウンドメール(1) クライアントがLotus Notesクライアントの場合 受信者のユーザー文書「受信メールの形式」が「Notesリッチテキスト優先」の場合 Lotus Dominoサーバー Lotus Notesクライアント インターネット 例:「charset=ISO-2022-JP」で送られてきた場合 1 Lotus DominoサーバーがMIMEメールを「Notesリッチテキスト」デー ISO-2022-JP タに変換してメールDBに格納 ⇒LMBCS (MIMEヘッダの「charset」の値に従って変換) 2 Lotus Notesクライアントでデータを表示 LMBCS ⇒Shift-JIS 97 IBM Software Group | Lotus software 文字コード変換:インバウンドメール(2) クライアントがLotus Notesクライアントの場合 受信者のユーザー文書「受信メールの形式」が「送信者の形式を保持」または「MIME優先」 の場合 Lotus Dominoサーバー Lotus Notesクライアント インターネット 例:「charset=ISO-2022-JP」で送られてきた場合 1 Lotus DominoサーバーはメッセージをMIMEデータのままメールDB ISO-2022-JP に格納 2 Lotus NotesクライアントがMIMEデータを変換して表示 ISO-2022-JP (MIMEヘッダの「charset」の値に従って変換) ⇒Shift-JIS 98 IBM Software Group | Lotus software 文字コード変換:インバウンドメール(3) クライアントがブラウザの場合 受信者のユーザー文書「受信メールの形式」が「Notesリッチテキスト優先」の場合 Lotus Dominoサーバー ブラウザ インターネット 99 例:「charset=ISO-2022-JP」で送られてきた場合 「Domino Web Engine」で、UTF8で出力する設定の場合 1 Lotus DominoサーバーがMIMEメールを「Notesリッチテキスト」デー タに変換してメールDBに格納 (MIMEヘッダの「charset」の値に従って変換) 2 ブラウザからのリクエストに対して、Lotus Dominoサーバーが変換 しデータを返す ( 「Domino Web Engine」の設定に従って変換) 3 ブラウザでデータを表示 ISO-2022-JP ⇒LMBCS LMBCS ⇒UTF8 UTF8 IBM Software Group | Lotus software 文字コード変換:インバウンドメール(4) クライアントがブラウザの場合 受信者のユーザー文書「受信メールの形式」が「送信者の形式を保持」または「MIME優 先」の場合 Lotus Dominoサーバー ブラウザ インターネット 例:「charset=ISO-2022-JP」で送られてきた場合 1 Lotus DominoサーバーはメッセージをMIMEデータの ままメールDBに格納 2 Lotus DominoサーバーはMIMEデータをそのままブラウザに渡す 3 ブラウザが変換して表示(ブラウザの設定による。通常「自動選 択」になっている) 100 ISO-2022-JP ISO-2022-JP ISO-2022-JP ⇒Shift-JIS IBM Software Group | Lotus software 文字コード変換:アウトバウンドメール(1) クライアントがLotus Notesクライアントの場合 Lotus Notesクライアントのロケーション文書「インターネットメールアドレス向けのメール の形式」が「Notesリッチテキスト形式」の場合 Lotus Dominoサーバー Lotus Notesクライアント インターネット 例:日本語のメッセージを送る場合 1 ユーザーがメッセージを作成 Shift-JIS 2 メッセージは「Notesリッチテキスト」データとしてメールDBに格納 Shift-JIS される ⇒LMBCS 3 Lotus DominoサーバーがメッセージをMIMEデータに変換して転 LMBCS 送(メッセージテキストからコードページを判断) ⇒ISO-2022-JP 101 IBM Software Group | Lotus software 文字コード変換:アウトバウンドメール(2) クライアントがLotus Notesクライアントの場合 Lotus Notesクライアントのロケーション文書「インターネットメールアドレス向けのメール の形式」が「MIME形式」の場合 Lotus Notesクライアント Lotus Dominoサーバー インターネット 例:日本語のメッセージを送る場合 1 ユーザーがメッセージを作成 2 Lotus NotesクライアントがメッセージをMIMEデータに変換して メールDBに格納(メッセージテキストからコードページを判断) 3 Lotus Dominoサーバーは変換せず転送 102 Shift-JIS Shift-JIS ⇒ISO-2022-JP ISO-2022-JP IBM Software Group | Lotus software 文字コード変換:アウトバウンドメール(3) クライアントがブラウザの場合 HTML形式で送信する場合 Lotus Dominoサーバー ブラウザ インターネット 例:日本語のメッセージを送る場合 「Domino Web Engine」で、UTF8で出力する設定の場合 1 Lotus DominoサーバーがMEMOフォームを出力(*1) UTF8 2 ブラウザがメッセージを作成してPOST(*2) UTF8 3 Lotus DominoサーバーはメッセージをMIMEデータとしてメール UTF8 DBに格納 4 Lotus Dominoサーバーは変換せず転送 UTF8 *1 出力文字コードは以下の優先順位で決定 1. 「Domino Web Engine」-「出力にUTF-8を使用」が「はい」 ⇒UTF8 2. 「Domino Web Engine」-「日本語」の値 *2 上記出力文字コードと同じ文字コードでPOSTされる 103 IBM Software Group | Lotus software 文字コード変換:アウトバウンドメール(4) クライアントがブラウザの場合 テキスト形式で送信する場合 Lotus Dominoサーバー ブラウザ インターネット 104 例:日本語のメッセージを送る場合 「Domino Web Engine」で、UTF8で出力する設定の場合 1 Lotus DominoサーバーがMEMOフォームを出力(*) UTF8 2 ブラウザがメッセージを作成してPOST(*) UTF8 3 Lotus Dominoサーバーはメッセージを「Notesリッチテキスト」デー UTF8 タに変換してメールDBに格納 ⇒LMBCS 4 Lotus DominoサーバーはメッセージをMIMEデータに変換して転 LMBCS 送(メッセージテキストからコードページを判断) ⇒ISO-2022-JP * 前頁参照 IBM Software Group | Lotus software インバウンドメール例外ケース: charsetが設定されていない場合の文字コード変換動作(1) 受信者のユーザー文書「受信メールの形式」が「Notesリッチテキスト優先」の場合 サーバー設定文書「MIME」-「変換オプション」-「インバウンド」-「メールに文字セット情報 が無い場合、自動判定を行う」 「はい」の場合 • メッセージテキストからキャラクタセットを判別する 「いいえ」の場合(デフォルト) • サーバー設定文書「MIME」-「詳細」-「インバウンド」-「MIMEでないメールやMIMEで 文字セットが不明な場合、次の8ビット文字セットを仮定」 で指定された文字コードで変換する。 いずれにしても、上記によって決定された文字コードが、実際に使用された文字コードと合 致しない場合は、文字化けが発生する。 サーバーで変換が行われるため、受信者側はLotus Notesクライアントでもブラウザでも対 応できない。 105 IBM Software Group | Lotus software インバウンドメール例外ケース: charsetが設定されていない場合の文字コード変換動作(2) 受信者のユーザー文書「受信メールの形式」が「送信者の形式を保持」または 「MIME優先」の場合 Lotus Notesクライアントから参照する場合 日本語Lotus Notesクライアントでは、実際のエンコードがISO-2022-JPであれば正 常に表示 • 個人アドレス帳「MIME言語設定」文書がある場合は、設定値と、メッセージの実際の エンコードが合っていれば正常に表示 文字化けしている場合、クライアント「表示」-「文字コードセット」から適切な文字セット を選択すれば、正常に表示させることが可能 ブラウザから参照する場合 106 サーバー設定文書「MIME」-「変換オプション」-「インバウンド」-「メールに文字セット情 報が無い場合、自動判定を行う」が「はい」の場合、正常に表示できるケースもある。 文字化けしている場合、受信者側では対応できない IBM Software Group | Lotus software インバウンドメール例外ケース: Content-Transfer-Encodingが宣言されていない場合 デフォルト値の「7bit」として処理される 実際にはBase64でエンコードされた添付ファイルであっても、正しくデコードされず、 エンコードされた生データがそのまま格納される。 その結果、ユーザーが添付ファイルを開いても文字化けして表示される。 107 IBM Software Group | Lotus software (ブランクページ) 108 IBM Software Group | Lotus software アウトバウンドメール: 多言語メールの文字コード変換(1) クライアントがLotus Notesクライアントの場合 ノーツクライアントのロケーション文書「インターネットメールアドレス向けのメールの 形式」が「Notesリッチテキスト形式」の場合 サーバー設定文書「MIME」-「詳細」-「アウトバウンド」-「多言語メールのMIMEへ の変換時」の設定に依存 設定値 109 Unicode (UTF8)で送信 使用される 文字コード Unicode (UTF8) よく表現できる 文字セットで送 信 メール内の 主要なコード ページ(*) 備考 ・受信側メーラーがUnicode対応の場合 →正常に表示 ・受信側メーラーがUnicode非対応の場合 →全体的に文字化け ・受信側メーラーのUnicode対応に関わらず、 日本語基本字は正常に表示、他は文字化けの可能性あり *どれが「主要」なのかは内部ロジックによって決定される IBM Software Group | Lotus software アウトバウンドメール: 多言語メールの文字コード変換(2) クライアントがLotus Notesクライアントの場合 Lotus Notesクライアントのロケーション文書「インターネットメールアドレス向けのメール の形式」が「MIME形式」の場合 ユーザープリファレンス「メール」-「インターネット」-「多言語インターネットメール形 式」の設定に依存 設定値 Unicode (UTF8) 自動判定 使用される 文字コード Unicode (UTF8) 備考 ・受信側メーラーがUnicode対応の場合 →正常に表示 ・受信側メーラーがUnicode非対応の場合 →全体的に文字化け メール内の ・受信側メーラーのUnicode対応に関わらず、 主要なコード 日本語基本字は正常に表示・他は文字化けの可能性あり ページ(*) *どれが「主要」なのかは内部ロジックによって決定される (選択に依存) デフォルト選択が「Unicode」 Unicode (プロ ンプトを表示) 自動判定 (プロ (選択に依存) デフォルト選択が「自動判定」 ンプトを表示) 110 IBM Software Group | Lotus software アウトバウンドメール: 多言語メールの文字コード変換(3) 111 「プロンプトを表示」の場合、以下のようなプロンプトが表示される IBM Software Group | Lotus software アウトバウンドメール: 多言語メールの文字コード変換(4) クライアントがブラウザの場合 ブラウザがPOSTするメッセージデータの文字コードは、Lotus Dominoサーバーが出 力するMemoフォームの文字コードに依存する。 従って、HTTPサーバーと同様に、多言語に対応するためにはUTF8で出力すること を推奨 テキスト形式でも 正しい? 112 IBM Software Group | Lotus software メッセージソース取得方法:インバウンドメール 受信者のユーザー文書「受信メールの形式」が「送信者の形式を保持」または 「MIME優先」の場合 Lotus Notesクライアント「表示」-「表示」-「ページソース」で表示可能 受信者のユーザー文書「受信メールの形式」が「ノーツリッチテキスト優先」の場合 メールDBに格納されているデータは既に変換済なので、Lotus Notesクライアントから参照 しても取得できない Lotus DominoサーバーでMIMEメッセージをキャプチャーする *出力量が多くなるので、取得時以外は設定しない Notes.ini に「SmtpSaveImportErrors=2」を設定し、Lotus Dominoサーバー再起動 メッセージソースがOSの一時ディレクトリにファイルとして取得される <サーバーコンソールメッセージ抜粋> 2006/10/10 09:17:10 SMTP Server [0CCC:000A-08DC] RFC822 message inbound stream saved to C:¥WINDOWS¥TEMP¥notesBEC590¥st914426.TMP 参照:「Administrator 7 ヘルプ」-「SmtpSaveImportErrors」 113 IBM Software Group | Lotus software メッセージソース取得方法:アウトバウンドメール 受信側で取得してもらう場合 受信者側のソフトウェアに依存 Outlook Expressの場合:メッセージの「プロパティ」-「詳細」-「メッセージソース」 送信側で取得する場合 Lotus DominoサーバーでアウトバウンドMIMEメッセージをキャプチャー *出力量が多くなるので、取得時以外は設定しない Notes.ini に 「SmtpSaveOutboundToFile=1 」を設定し、サーバー再起動 メッセージソースがOSの一時ディレクトリにファイルとして取得される <サーバーコンソールメッセージ抜粋> 2006/10/10 17:09:08 [00C8:0005-0EE8] SMTPClient: RFC822 message outbound stream saved to C:¥WINDOWS¥TEMP¥notesBEC590¥st449793.TMP 参照:http://www-1.ibm.com/support/docview.wss?uid=swg21103162 114