「BOM」を含む日記 RSS

はてなキーワード: BOMとは

2014-06-24

SQLSERVER テーブルのXML型の列へ XMLファイルから取り込む一例

  1. XML宣言のエンコーディングを "utf-16" にする
  2. BOMつきのUTF-16(Unicode)でファイル保存する
  3. 次のようなSQL文を流す

INSERT INTO TBL SELECT TBL.COL FROM OPENROWSET(BULK 'filepath', SINGLE_NCLOB) AS TBL(COL)

他の方法もいろいろあるだろう。ただ、文字コードに関して言及すると、SQL SERVER の内部データUCS-2UTF-16のサブセット)なので、合わせておいたほうが無難UTF-16以外で取り込もうとすると、日本語付近で "XML 文字が無効です" などとエラーになる場合が多い(もちろん原因は何かあるのだろうが、調べてもさっぱり私には見当がつかない。時間の浪費はいやずら)。

'filepath'は、SQL SERVERインスタンスが動いているマシンにとってのファイルパスね。'E:\???\???.xml'や'\\filesvr01\shared\data\???.xml'とか。

SELECT COL.query('/ELEM/NODE') FROM TBL など、あとはいろいろクエリーしてみてくれ。

感謝

SQLSERVER:OPENROWSET SINGLE_NCBLOB は BOMつきで

UNICODE (UTF-16)で保存しても、BOMをつけていないと

「SINGLE_NCLOB には UNICODE (widechar) 入力ファイル必要です。指定されたファイルUnicode ではありません。」

とはじかれる。ビッグエンディアンでもリトルエンディアンでもOK。

もちろん、UTF-8 ではBOMがあろうとなかろうとだめだ。

2009-02-11

http://anond.hatelabo.jp/20090211021435

メモ帳ってUTF読めなかったっけ?BOMなしだとダメなのかな?BOM付きで送ったら?

てか、あれか、MIME的にBOMってどんな扱いなんだっけ。

ログイン ユーザー登録
ようこそ ゲスト さん