便乗 (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个字节。

20130201014512.png
fa f9 f8 e9

对应于1月的希伯来语是Tishrei。

image.png
    https://uic.jp/charset/compare/iso-8859-8/windows-1255/

根据密钥表选择对应的字符。

image.png

希伯来语是从右到左阅读,因此匹配。

过去的记录

根据以下日本网址的建议,如果在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ソース中のヘブライ語


广告
将在 10 秒后关闭
bannerAds