[PHP-users 33943] COM(word) の文字化けについて

Matsumoto Yuji yuji @ microcad.co.jp
2008年 8月 6日 (水) 14:56:25 JST


松本と申します。

次の環境にてCOM(word)に出力するプログラムを考えています。
その中で文字化けについてご教授お願い致します。

PHP:5.2.3
Apache:2.0.58 (Win32)
WindowsXP SP2
Word2003
エンコード:UTF-8


以前に同様のことが報告されていますが、「conversion.c」 はPHP5.2.
3には存在しないようです。
http://ml.php.gr.jp/pipermail/php-users/2007-April/032463.html


次を実行すると作成されたワードに「あああ劫劫劫」と文字化けしてし
まいます。(マルチバイトの文字数分文字化け)

--------------------------------------------
<?php
//ref:http://jp.php.net/manual/ja/class.com.php
// word を起動します
$word = new COM("word.application") or die("Unable to 
instantiate Word");
echo "Loaded Word, version {$word->Version}\n";

// 前面に移動させます
$word->Visible = 1;

// 空のドキュメントを開きます
$word->Documents->Add();

// 何か複雑なことを行います
$insStr = mb_convert_encoding("あああ", 'SJIS', 'UTF-8');
$word->Selection->TypeText($insStr);
$word->Documents[1]->SaveAs("D:\test.doc");

// word を閉じます
$word->Quit();

// オブジェクトを開放します
$word = null;
?> 
--------------------------------------------

ちなみにPHP5.2.6の環境で試してみましたが、同様の不具合が発生しま
した。

宜しくお願い致します。


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