[PHP-users 30080] xsltprocessorで文字化け?
amaesc
wish_amateur_escape @ yahoo.co.jp
2006年 8月 18日 (金) 21:50:33 JST
たびたび申し訳御座いません。
HTML文字列をtransformToXML関数に通したところ、全角文字が文字化けしてしま
います。
文字コードの指定などはどこですればよろしいでしょうか?
XSLファイルに直接書いた全角文字や外部XMLに書いた全角文字は正常に表示され
ます。
また、PHPソースから直接出力した全角文字も正常に表示されます。
phpのバージョンは5.1.4、libxslのバージョンは1.1.15です。
解決方法が見つからず途方にくれております。何卒ご教授のほどよろしくお願い
いたします。
---PHPソース--------
mb_language('Japanese');
mb_internal_encoding('utf8');
mb_detect_order('ASCII, JIS, UTF-8, EUC-JP, SJIS');
$html =<<< HTML
<html><body>あいう</body></html>
HTML;
$xml = new DomDocument('1.0');
$xml->loadHTML($html);
$xsl = new DomDocument('1.0');
$xsl->load('test.xsl');
$xh = new xsltprocessor();
$xh->importStyleSheet($xsl);
$output = $xh->transformToXML($xml);
---------------
---test.xsl----
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform
">
<xsl:output method="html" encoding="Shift_JIS" indent="no" omit-xml-
declaration="yes"/>
<xsl:template match="/">
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>
---------------
---出力---
あいう
----------
※これって1バイト圏のエンコードになっているでしょうか?
--
あまエスク
--------------------------------------
Let's start Yahoo! Auction - Free Campaign Now!
http://pr.mail.yahoo.co.jp/auction/
PHP-users メーリングリストの案内