便乗 (biànjiōng) – PHP和以色列
这是对这篇文章的顺风车行为。
-
- PHPとイスラエル
https://qiita.com/jkr_2255/items/06f58bef9a9de96b88ba
2箇所ほど存在します。
我要介绍第三个地方。(虽然这已经是很久以前的故事了)
日历模块
很久以前,我們在C語言字符串文字中直接插入了希伯來文字。
注意,我們所用的是ISO-8859-8,而不是UTF-8之類的編碼。
/* names for leap (13-month) year */
char *JewishMonthHebNameLeap[14] =
{
"",
"˙˘¯È",
"Á˘ÂÔ",
"ÎÒÏÂ",
"Ë·˙",
"˘·Ë",
"‡„¯ ‡'",
"‡„¯ ·'",
"ÈÒÔ",
"‡Èȯ",
"ÒÈÂÔ",
"˙ÓÂÊ",
"‡·",
"‡ÏÂÏ"
};
/* names for regular year */
char *JewishMonthHebName[14] =
{
"",
"˙˘¯È",
"Á˘ÂÔ",
"ÎÒÏÂ",
"Ë·˙",
"˘·Ë",
"",
"‡„¯",
"ÈÒÔ",
"‡Èȯ",
"ÒÈÂÔ",
"˙ÓÂÊ",
"‡·",
"‡ÏÂÏ"
};
在具备日语环境的Windows上进行构建时我遇到了困难,但现在已经转义过了,没有问题了。
ISO-8859-8是一种字符编码标准。
将上述代码中的1月位置进行十六进制转储,可以得到4个字节。
fa f9 f8 e9
对应于1月的希伯来语是Tishrei。
- https://uic.jp/charset/compare/iso-8859-8/windows-1255/
根据密钥表选择对应的字符。
希伯来语是从右到左阅读,因此匹配。
过去的记录
根据以下日本网址的建议,如果在PHP中混合使用希伯来语编译错误,应该将区域设置(locale)更改为英语。
http://ml.php.gr.jp/pipermail/php-dev/2003-March/000718.html
处理ISO-8859-8作为CP932时,”(双引号)会被前一个字节吞噬而消失。
这里有一个链接 https://bugs.php.net/bug.php?id=53521
有人提供了将jewish.c转换为UTF-8的补丁,但官方是基于拉丁语系的locale进行编译的,所以反而可能无法显示希伯来语,这可能是多管闲事。作为CJK的朋友,我表示同情。
-
- 当時の日記: PHPソース中のヘブライ語