子供がもうサンタさん卒業のため、希望を聞いてほしいものを買うことに。ただ、ゲームはもう十分持っているのでやめておこう、という話をして、実用的なもので「ちょっと欲しかったもの」を選ぶことに。

- 価格: 2300 円
- 楽天で詳細を見る
というわけで、部活の剣道で使う竹刀の「鍔(つば)」になりました。
子供がもうサンタさん卒業のため、希望を聞いてほしいものを買うことに。ただ、ゲームはもう十分持っているのでやめておこう、という話をして、実用的なもので「ちょっと欲しかったもの」を選ぶことに。
というわけで、部活の剣道で使う竹刀の「鍔(つば)」になりました。
仕事の中で、「豆板醬」という品名をSQL Serverのnvarchar列に登録しようとして文字化けするという事態が起きました。以前から「文字列の前にNを付ける、Nプリフィックスでユニコード文字を投入可能」ということは知っていたのですが、「そもそもなぜ?」について調べていなかったので、ちょっと調べた内容をメモっておきます。
ざっくり言うと下記のような話のようです。なお、文字列を登録する先はnvarchar型で定義されているものとします。
この「変換」がくせ者だったのですね。
SQL Serverが文字列を扱う際に変換を行う「コードページ」こと文字コード表は、照合順序によって規定されているようです。
上記のブログに、実際に利用されるコードページを調べた結果が記載されていたので参考にさせてもらいました。どうやら照合順序の名称が「Japanse_****_UTF8」になっているものは、コードページ65001(UTF-8)を用い、それ以外はCP932(Windows3.1時代からのShift-JISに近い文字コード表)を使っているようです。実際に試してはいませんが、恐らくこのUTF-8対応の照合順序を指定していれば、Nプリフィックス無しでもUTF-8文字列がスッと格納されるのではないかとおもいます。
では、文字列「豆板醬」が化けた理由について。この「醬」という文字は訓読みだと「ひしお」、いわゆる醤油の「しょう」と同じ意味の別の字体の漢字です。いつもの「Unisearcher」で文字を検索してみると下図のような情報が出てきます。
Shift-JISの文字コードを持っているんですよね。ですがCP932では化けました。ということは、CP932には含まれない、新しいShift-JISの文字なのかもしれません。特定の文字が「どのSJISに含まれるか」を調べる方法が分からなかったので、いくつか検索した結果、下記サイトの文字コード表でSJISの種類毎の表があり、その中の「Shift_JIS2004」に「醬」の文字がEEF7として掲載されているのを見つけました。
どうやら「Shift_JIS-2004(JIS X 0213:2004)」と呼ばれるタイプのShift-JIS文字コードのようです。確かに「Shift-JIS」としてのコードはあるのですが、CP932には含まれないのでSQL Serverは内部処理で文字化けを起こしたのですね。
とりあえず文字化けした原因と回避方法、その方法で対処できる仕組みについては把握できたと思います(今まできちんと調べてなかったのが恥ずかしい)。ただ、下記の点はまだよく分かっていないので、Quoraとかも使いながらできれば把握しておきたいと思います。
後者は下記のブログを読んでいて浮かんだ疑問です。
10月にWindowsを入れ直してから、どうもイベントビューアーにDropbox(ファイル共有サービス)のプログラムが下記のエラーを何度も出しているのが気になっていたので、調べてみました。
CertFindCertificateInStore failed with: (-2146885628) オブジェクトまたはプロパティが見つかりません。
エラーメッセージで検索すると、Dropboxの公式フォーラムに類似した状況に関するやりとりが記録されていました。
きちんと読めてないので今ひとつ内容を把握できていないのですが、「BASICプランの場合はDrobboxの利用デバイス上限は3台まで」ということが関係しているのでは?という話のようです。BASICプランとは、無料で利用できるプランですね。自分は「Plusプラン」という、ファイルサイズ上限が2TBの有料プランに加入しており、接続デバイスの上限数は無いはずなので関係ないとおもうのですが……。
とりあえず接続台数を調べてみます。接続されているデバイスの数は、DropboxのWebサイト→個人アカウント→セキュリティの下の方に表示されています。既に使っていないものも含まれていますが、現時点で4台が登録されています。多分この台数はエラーに関係無いと思うのですが、とりあえず使っていないもの(3つ目と4つ目)を削除しておきます。
もしかしたらWindows Updateなどの過程でDropboxがおかしくなった可能性もあるので、念のため、公式サイトからインストーラーを再ダウンロードし、上書きでインストールしなおしてみました。これで改善するか分かりませんが、しばらく様子を見てみます(エラーは1日に数回出ているようなので、改善されていればすぐ分かるはずです)。
10日ほど様子を見ましたが、やはりイベントログにエラーは出続けています。アプリ入れ直しなどでは解消しないようです。何だろう気持ち悪い……