各種プラットフォームをまたがるシステムなどで、ファイル名やファイル内の文字などが文字化けするのはよくあることですが、化けるかどうかのテストをどうするかは悩ましい問題です。
私がよくテストで使っている文字があるので自分用のメモも兼ねて記載しておきます。仕事で関係者に送ったメールを転記したものです。
はしごたか
髙 …… IBM拡張文字/NEC選定IBM拡張文字
Unicode …… 09AD9
UTF-8 …… E9AB99(3バイト)
ShiftJIS …… FBFC(IBM拡張)/ EEE0(NEC選定拡張)
かき…とみせかけて「こけら」
杮…… JIS X 0212
Unicode …… 0676E
UTF-8 …… E69DAE(3バイト)
ShiftJIS …… 4323
登録商標
® …… JIS X 0213 非漢字
Unicode …… 000AE
UTF-8 …… C2AE(2バイト)
ShiftJIS …… 8549
森鴎外の「おう」
鷗 …… JIS X 0213 第3水準
Unicode …… 9DD7
UTF-8 …… E9B797(3バイト)
ShiftJIS …… EFE3
魚の「ほっけ」
𩸽 …… JIS X 0213 第4水準
Unicode ……29E3D
UTF-8 …… F0A9B8BD(4バイト!)
ShiftJIS …… FC6B
UTF-16では2文字分で1文字を表す「サロゲートペア」と呼ばれる種類の文字で、 DBなどで文字コードが合わずに文字化けした際に「??」と2文字に化けたりするので文字化けを含めたテストには最適の文字です。実際、SJIS設定のOracleに突っ込むと2文字に文字化けして、文字数的に膨らんでバグになったことがありました。