• ベストアンサー

文字コードの変換について

MSXMLを利用して、XML+XSLTをHTML出力しているのですが、 現在は、すべてシフトJISコードで行っているのですが、 これを、出力されるHTMLをEUC-JPにしたいと思っていますが、 どうすればよいでしょうか? XMLは、作業上、シフトJISが都合がよいので、変更したく ないので、パーサかプログラムで自動で変換するのが、 良いかなぁと思っていますが、パーサで自動変更は出来るのでしょか? やはりプログラムで、変換しなければいけないのでしょうか? よろしくお願いいたします。

  • XML
  • 回答数1
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

===========Q3453815-1.xml=========== <?xml version="1.0" encoding="Shift_JIS"?> <?xml-stylesheet type="text/xsl" href="Q3453815-1.xsl" ?> <LocaleList> <Locale> <LCID>1033</LCID> <Description>USA</Description> </Locale> <Locale> <LCID>1041</LCID> <Description>日本</Description> </Locale> </LocaleList> ==============Q3453815-1.xsl=============== <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <!--  【重要】xsl:outputのmethodがxmlである状態で encodingを指定。indentは俺の趣味だが, 要素内容でなく混在内容を内容モデルに持つ要素があった場合,結構大きく関わるかも。 --> <xsl:output method="xml" encoding="EUC-JP" omit-xml-declaration="no" indent="yes" /> <xsl:template match="/"> <hoge> <xsl:apply-templates /> </hoge> </xsl:template> <xsl:template match="Locale"> <fuga><xsl:apply-templates select="Description" /></fuga> </xsl:template> </xsl:stylesheet> ==============補足================= ●一応このXMLファイルをMinefield/Geckoに読み込ませ、表示メニューから 文字符号化方式を確認したらEUC-JPになっていた。 ●IEでは表示メニューから文字符号化方式を確認することはできなかったものの(グレーアウト), 結果のテキストはIEでも正常に表示されているから,おそらく文字符号化方式はきちんと認識できていると思う。 ●eXtyleを使ってxmlファイルに書き出して,テキストエディタで開いてみたらEUC-JPであることが確認できた ●出力結果やスタイルシートが意味のないサンプルでごめんなさい

関連するQ&A

  • UTF8への変換について

    XMLをシフトJISで、作成しています。 このXMLから、XSLTを通して、UTF-8のHTMLを作成することは、 可能でしょうか? XSLTで、文字コードの変更は出来るのでしょうか? やはり、シフトJISのHTMLを作成した後で、UTF-8に変換する方法でしょうか?

    • ベストアンサー
    • XML
  • 全角数字を半角数字にする方法

    XML→HTMLへ変換するのに、XSLTを利用しているのですが、 XSLTで、全角数字を半角数字に変換し、HTMLへ出力することはかのうでしょうか? 環境は、Win2k+IE6(パーサは、MSXMLを利用)です。 よろしくお願いします。

    • ベストアンサー
    • XML
  • phpの文字コードをシフトJISに変換する

     SSIを利用して、PHPプログラムをHTMLページの中央部に呼び出して表示しようとしています。  それ自体は単純なことですが、HTMLページの文字コードはシフトJISで、PHPの文字コードはEUCと、異なるため、どうしても文字化けが起きてしまいます。  これを解消する方法はありますか。  PHPの出力文字コードをシフトJISにするのが一番単純かとも思いますが、他の方法も含め、なにかよい方法がありましたら教えてください。

  • PHPプログラム内でHTML作成時の文字コード

    お世話になります。 PHPコード・及び内部エンコーディングはEUC-JPでプログラムを作成しています。 プログラムでHTMLファイルを作成する処理があるのですが、どうしてもEUC-JPで作成されてしまいます。 中身(<html>~)はmbstringできちんとShift_JISに変換して出力するのですが、ファイル自体の文字コードがEUC-JPで保存されているようで、ブラウザで表示するとエンコードがEUC-JPになって表示され、文字化けしております。 ブラウザのエンコードをShift_JISに直せば文字化けしないで表示されるのですが…。 プログラムから作成したファイルをShift_JISで作成する方法をご教授いただけましたら幸いです。 php.iniの設定をいじる権限はありません。また、プログラムをShift_JISにする以外で方法をお教えいただけないでしょうか。

    • ベストアンサー
    • PHP
  • MSXMLで使用可能な文字コードの種類は?

    MSXMLパーサが解釈できる文字コードには何があるか、調査をしています。 XMLパーサであり、Microsoftの製品ですから、s-JIS、UTF-8、UTF-16は当然扱えると思いますが、その裏づけがほしいのです。また、他に使用可能なものとして、何があるのかも知りたく思います。 (できれば使用可能な文字コードの一覧があると助かるのですが・・・)

    • ベストアンサー
    • XML
  • 「コード変換して保存する」が選択できない

    エディタにHTML Project2を使用しているのですが、 文字コードをshift_jisからeuc-jaに変更したく思っています。 <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> のタグは書き込んだのですが、ファイル⇒「コード変換して保存する」が薄字になっていて選択できないのです。 なぜなのでしょうか? 解決策お願い致します。

  • 「髙(はしごたか)」を文字コード変換

    PHPにて、シフトJISで書かれたファイルを読みこみ、文字コードをEUCに変換して出力させる処理を書いています。 mb_convert_encoding($str, "EUC-JP", "SJIS")にて変換させています。 ただ、以下の文字が 髙(はしごたか)、 﨑(たつさき) うまく変換できずに 「?」という文字になってしまいます。 何か解決方法はないでしょうか??

    • ベストアンサー
    • PHP
  • 文字コード変更による、文字化け・レイアウト崩れ

    文字コードをShift-jisからEUC-JPに変更したいのですが、 HTML・CSSに処理を施したら文字・レイアウトが大幅に崩れてしまいました。 以下のように変更したのですがやり方に間違いはないでしょうか? [HTML] <meta http-equiv="Content-Type" content="text/html; charset=Shift-jis"> ↓↓ <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> [CSS] @charset "shift_jis"; ↓↓ @charset "euc-jp"; また、ブラウザの表示⇒エンコードで(Shift_jis)を選択すると今までどおり正常に表示されます。(HTMLとCSSにはeuc-jpの記述にも関わらずです) これは文字コード変更したと思い込んでしまっているのでしょうか? 解決策お願いします。 あまり知識がありませんので、分かり易く教えていただけるとありがたいです。 ちなみにエディタはHTML Project2を使用しています。

  • .NET 文字コードの変換

    VB2008で文字列を他の文字コードにする方法が知りたいです。 何かしての部分がわかりません。 VB2005でも使えるものだったらうれしいです。 Dim str_sjis as string Dim str_euc as string = "パソコン" '例えばEUC-JP '''何かして str_sjisにシフトJISで文字列が入っている。 .Netの文字コードの変換の仕方がごちゃごちゃして分かりづらいです。

  • 機種依存文字の文字コード変換

    現在、Shift-JISでCGIを作成しています。言語はPerlです。HTMLファイルから送信された文字をDBに登録するのですが、CGIをShift-JISで作成しているのに、DBがEUCとなっているため、jcode.plを利用して文字コードを変換しています。 しかし、文字が機種依存文字である場合、jcode.plでは文字コード変換ができないようで文字化けを起こした文字をDBに登録しようとしてエラーを起こしてしまいます。 何とか機種依存文字をコード変換したいのですが、可能でしょうか?

    • ベストアンサー
    • Perl

専門家に質問してみよう