[PHP-users 28083] Re: setlocale()が動作しなくなる事がある

Tadashi Jokagi ml @ elf.no-ip.org
2006年 1月 12日 (木) 18:52:22 JST


      ぢょ〜@よくきたなです.

Masanori Kobayashiさんの「[PHP-users 28080] setlocale()が動作しなくなる事がある」から
>実行しているのは、こんな感じのコードです。
><?php
>setlocale(LC_CTYPE, "ja_JP.SJIS");
>$fp=fopen("読み込みcsv_file","r");
>$c=array();

      SHIFT JIS を使用していますが,2 バイト目が 5CH(\)になる文字で問
    題がでてませんか? 例えば「能」「表」とか.php 5.1.2RC2 のソースを
    斜め読みした感じ,

php-5.1.2RC2/ext/standard/file.c:
(snip)
PHP_FUNCTION(fgetcsv)
{
    char *temp, *tptr, *bptr, *line_end, *limit;
    char delimiter = ',';   /* allow this to be set as parameter */
    char enclosure = '"';   /* allow this to be set as parameter */
    const char escape_char = '\\';
(snip)
                            default:
                                if (*bptr == escape_char) {
                                    state = 1;
(snip)

    とか見えるので,SHIFT JIS を使うと問題が出る可能性があるんじゃない
    かと思います.

-- 
----.----1----.----2----.----3----.----4----.----5----.----6----.----7
Tadashi Jokagi/Shibuya city mailto:elf @ elf.no-ip.org
YokukitanaII http://elf.no-ip.org/
Yokukita blog http://blog.poyo.jp/
Yokukita wiki http://wiki.poyo.jp/


PHP-users メーリングリストの案内