この記事への便乗です。
2箇所ほど存在します。
3箇所目を紹介。(といっても、もはや昔話ですが)
calendar モジュール
その昔、C言語文字列リテラルでヘブライ文字をそのまま入れてました。
なお、UTF−8 とかでなく ISO-8859-8 です。
/* names for leap (13-month) year */
char *JewishMonthHebNameLeap[14] =
{
"",
"˙˘¯È",
"Á˘ÂÔ",
"ÎÒÏÂ",
"Ë·˙",
"˘·Ë",
"‡„¯ ‡'",
"‡„¯ ·'",
"ÈÒÔ",
"‡Èȯ",
"ÒÈÂÔ",
"˙ÓÂÊ",
"‡·",
"‡ÏÂÏ"
};
/* names for regular year */
char *JewishMonthHebName[14] =
{
"",
"˙˘¯È",
"Á˘ÂÔ",
"ÎÒÏÂ",
"Ë·˙",
"˘·Ë",
"",
"‡„¯",
"ÈÒÔ",
"‡Èȯ",
"ÒÈÂÔ",
"˙ÓÂÊ",
"‡·",
"‡ÏÂÏ"
};
日本語環境の Windows でビルドする時に困りました。今はエスケープされていて問題ないです。
ISO-8859-8
上記コードの1月の場所を hexdump すると、4バイトが得られます。
fa f9 f8 e9
1月に対応するヘブライ語は Tishrei です。
コード表で対応する文字を拾うと、
ヘブライ語は右から左に読むので、一致します。
当時の記録
PHP にヘブライ語が混ざってコンパイル出来ない件は locale を english に設定するのが正解みたい。
http://ml.php.gr.jp/pipermail/php-dev/2003-March/000718.html
ISO-8859-8 を CP932 として処理して " (ダブルクォーと)が一つ前のバイトに食われて消えて見える訳で。 よや(@yoya) 2013年2月10日
https://bugs.php.net/bug.php?id=53521
jewish.c を UTF-8 に変換したパッチを送った中国人がいるけど、公式ではラテン語圏のlocaleを前提にコンパイルしてるので、逆にヘブライ語が表示できなくなる可能性があって、余計なお世話っぽい。CJK 仲間として同情する。 よや(@yoya) 2013年2月10日