[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 メーリングリストの案内