iconvに渡す文字コードがEUC-JPでは「〜」は波ダッシュ(U+301C)を想定する
ため、全角チルダ(U+FF5E)を正常に処理できず文字化けを起こしてしまう。
(いわゆる波ダッシュ・全角チルダ問題)
全角チルダを正常に変換し表示できるようにするため、EUC-JP-MSを渡すよう
にした。
dnl -fno-strength-reduce prevents a bug in some versions of gcc
if test "$GCC" = yes; then
- CFLAGS="$CFLAGS -fno-strength-reduce --exec-charset=EUC-JP"
+ CFLAGS="$CFLAGS -fno-strength-reduce --exec-charset=EUC-JP-MS"
fi
dnl Checks for libraries.
{
#if defined(EUC)
- iconv_t cd = iconv_open("EUC-JP", "UTF-8");
+ iconv_t cd = iconv_open("EUC-JP-MS", "UTF-8");
size_t utf8_len = strlen(utf8_str) + 1; /* include termination character */
char *from = utf8_str;
int ret = iconv(cd, &from, &utf8_len, &sys_str_buffer, &sys_str_buflen);