[PHP-users 18826]Re: Spreadsheet_Excel_Writerで作成されたExcelファイルについて

HOTTA Michihide hotta @ net-newbie.com
2003年 11月 6日 (木) 00:13:56 JST


堀田です。

On Wed, 05 Nov 2003 22:10:21 +0900 
Subject [PHP-users 18818] Re: Spreadsheet_Excel_Writerで作成されたExcelファイルについて
KITAO Kaoru <kitao @ netcube.jp> wrote:

> マルチバイト系の関数mb_*は、単純に既存の関数をマルチバイト対応
> にしたもの、というわけではないのでしょうか。

単純に、という意味がいまひとつわかりませんが、基本的にはそうでし
ょうね。

> 今回の事象ではsubstr関数がmb_substr関数に置き換えられたことによ
> って動作しなくなったのだと認識しています。そもそもmb_substr関数
> はsubstr関数の拡張で、単純にマルチバイト文字列に対応しただけ
> (つまりsubstr関数を使っていたところをmb_substr関数に置き換え
> ても問題ない)と思っていたのですが、そう言うわけではないのでし
> ょうか。

hotta @ vm_seed ~$ cat a.php
<?php
printf("PHP_VERSION=%s\n", PHP_VERSION);
printf("substr(\$argv[1], 10, -1)   = %s\n", substr($argv[1], 10, -1));
printf("mb_substr(\$argv[1], 10, -1)= %s\n", mb_substr($argv[1], 10, -1));
?>
hotta @ vm_seed ~$ php a.php "日本語とEnglishの混在テキスト"
PHP_VERSION=5.0.0b3-dev
substr($argv[1], 10, -1)   = glishの混在テキス
mb_substr($argv[1], 10, -1)= hの混在テキス

*単純に* これだけ出力結果が異なるんですから、それを使ったライブ
ラリの振る舞いが異なるのはむしろ当然かと。

On Wed, 05 Nov 2003 13:06:01 +0900 
Subject [PHP-users 18801] Re: Spreadsheet_Excel_Writerで作成されたExcelファイルについて
KITAO Kaoru <kitao @ netcube.jp> wrote:

> mbstringの設定自体は確かに違うのですが、試しているスクリプトそ
> のものに日本語がまったく含まれていないので、これについては「関
> 係なし」と判断しました。ちなみに改行はLFです。

スクリプトには日本語が含まれていなくても、スクリプトで扱うデータ
に日本語が含まれていないのかは、文面からは判断できませんでした。

-- 
堀田 倫英 <hotta @ net-newbie.com> <http://www.net-newbie.com>


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