PHPソース中のヘブライ語
Windows でコンパイルする時に、ヘブライ語のとこで失敗するので調べてみた。
# 結論は iconv -f iso-8859-8 -t utf-8 で変換すれば良さそうだけど、環境によるのでエスケープするのが無難。
とりあえず、hexdump してみる。
Tishrei に相当する場所は以下の4バイト。
fa f9 f8 e9
- The Month of Tishrei According to Sefer Yetzirah
によると Tishrei は
なのでコード表と比較してみる。
コード表から対応する文字を拾って左から並べてみた。
ヘブライ語は右から並べるので丁度逆方向に見ると一致してる。(装飾の違いはあるけど)
文字コードは、ISO-8859-8 でFA。
変換どうしよう
- iconv で (-f iso-8859-8 -t utf-8)
d7 aa d7 a9 d7 a8 d7 99
-
- そこから逆変換
char *JewishMonthHebName[14] = { "", "iconv: 位置 13220 で不正な入力シーケンスがありました
c3 ba c3 b9 c3 b8 c3 a9
-
- そこから hebrew-iso-8bit に逆変換
However, each of them encountered characters it couldn't encode: hebrew-iso-8bit-unix cannot encode these: u u o e c u a i e n ...
PHP の mb_convert_encoding で変換すると,
D7 AA D6 B4 D6 BC D7 A9 D6 B0 D7 81 D7 A8 D6 B5 D7 99 ~~~~~ ~~~~~ ~~~~~ ~~~~~
emacs も iconv も逆変換ダメだけど、iconv の方がバイナリ的に似てる。
ヘブライ語の対応するページを開いたら、
http://he.wikipedia.org/wiki/%D7%AA%D7%A9%D7%A8%D7%99
iconv の出力結果で合ってた。逆変換がダメなのは気になるけど、とりあえず後にしよう。