2012年4月13日金曜日

複数の言語が含まれているデータをインポートする


ひとつのオブジェクトの中に、複数の言語が存在するデータをインポートする方法です。
例えば、何かの名称のマスターとして使用する場合に、日本語名、英語名、韓国名、中国語名のカラムがある場合のデータインポート方法です。
オブジェクトを作成し、名称を翻訳サイト等で変換しながら各項目に入力してみると、問題無く各言語が登録できます。
しかし、データローダを使用する場合はどうでしょうか?

ExcelでCSVを作成する場合、文字コードがShift-JISで保存されます。そのため、保存したCSVをメモ帳で開くと、韓国語や一部の中国語が文字化けしているのがわかります。
このファイルをデータローダに読み込ませても、文字は化けたままです。したがって、UTF-8に正しく変換されたCSVを用意する必要があります。

なんとかExcelのデータをUTF-8で保存できないかと調べたところ、Excel2007では「Web文書」で保存する時にオプションでUTF-8が選べることがわかりました。

以下、具体的な方法です。
「名前を付けて保存」ダイアログのツールメニューからWebオプションを選択します。
エンコードを「Unicode(UTF-8)」に設定します。
文書形式を「Webページ」で保存すると、UTF-8にエンコードされたデータが保存されます。
しかし、この文書はHTMLなので当然データローダにかけることはできません。また、ブラウザの画面をコピーしてメモ帳に貼り付けても、CSVにはなりません。

そこでExcelの計算式を利用して、カンマ区切りのデータを1セルに納めてしまいます。

再度「Webページ」で保存し、ブラウザで開きます。
文書全体を選択し、メモ帳に貼り付け、CSV形式で保存すると、データローダで読み込める多言語のCSVファイルになります。

多少面倒ではありますが、1件ずつ手打ちするよりは良いと思います。

0 件のコメント: