**[[質問箱3/498]] [#wc00d961]
#author("2018-03-11T18:47:42+09:00;2007-05-26T17:46:02+09:00","","")
**[[質問箱/3498]] [#wc00d961]
|RIGHT:70|LEFT:410|c
|~カテゴリ||
|~サマリ|ファイルを上書き保存すると文字コードが変わってしまう|
|~バージョン|1.4.6|
|~投稿者|[[芋焼酎ファン]]|
|~状態|完了|
|~投稿日|&new{2006-09-13 (水) 09:36:04};|
***質問 [#t7b96136]
初めまして。よろしくお願いします。~
#br
Googleサイトマップ用のフォーマッでXMLサイトマップを作成するプラグインを作っているのですが、サイトマップファイルを上書き作成するとSJISで保存されてしまいます。~
#br
サーバーのドキュメントルートにサイトマップファイルを、UTF-8, LF, パーミッション666で置いておいて実行するとSJIS, LFに変わってしまい、原因が分からずつまずいています。~
#br
PHP初心者が見よう見真似でつくったものなので、ソースを表示するのはちょっと恥ずかしいのですが、作りかけのプラグインは[[こちら:http://shyokunin.hp.infoseek.co.jp/q/makegglstmap_inc_php.txt]]、プラグインから呼び出しているファイルは[[こちら:http://shyokunin.hp.infoseek.co.jp/q/output_xml_php.txt]]です。~
#br
UTF-8で保存させるにはどうしたらいいでしょうか。~

***回答 [#o60e4348]
- スミマセン、投稿時に改行の入れ方を間違えました -- [[芋焼酎ファン]] &new{2006-09-13 (水) 09:44:35};
- 実際に試したわけではないのですが、次のような問題がありそうです。まずはこれらを見直してみると良いでしょう :) -- [[teanan]] &new{2006-09-13 (水) 22:22:10};
-- make_google_sitemap_form()に cmd の値が必要です。
 + global $script;
        :
    <form action="$script" method="post">
 +    <input type="hidden" name="cmd" value="makegglstmap">
 -    <input type="hidden" name="mode" value="mk_xml">
-- つぎに、上記postを受けるために、~_actionという関数を用意します。
 plugin_makegglstmap_action()
 {
   // 受けたときの処理をここにかく
 }
- アドバイスありがとうございます。cmdと_actionというのを使うんですね。またひとつ勉強になりました。[[こんな感じ:http://shyokunin.hp.infoseek.co.jp/q/makegglstmap_inc_php_2.txt]]に変更したのですが、やはりSJISに変わってしまいます。~実は、これとほとんど同じ手順でindex.rdfファイルを作る自作プラグイン(もどき)を実行すると、そちらはちゃんとUTF-8で上書きされるのです。違いというか原因がいまひとつ分かりません。 -- [[芋焼酎ファン]] &new{2006-09-14 (木) 05:48:48};
- php.iniの設定は? --  &new{2006-09-14 (木) 07:51:08};
- 現在、[[この設定:http://shyokunin.hp.infoseek.co.jp/q/php.ini.txt]]で動いてます。今からmbstringのSJISとあるところを変更して試してみます。 -- [[芋焼酎ファン]] &new{2006-09-14 (木) 08:28:44};
- 現在、[[この設定:http://shyokunin.hp.infoseek.co.jp/q/php.ini.txt]]で動いてます。今からmbstringのSJISとあるところを変更して試してみます。 -- [[芋焼酎ファン]] &new{2006-09-14 (木) 08:39:29};
- 自分の環境だけかもしれませんが、どうも保存データに日本語が入っていないとSJISになってしまうようです。試しに</urlset>を閉じた後ろに、$save_body .= '<title>'.htmlspecialchars(charconvert_utf($page_title)).'</title>' . "\n";としたところ(サイト名が日本語なので)、UTF-8で保存されました。クロールの時に、運良くサイトマップエラーにならなければそのままいこうと思いますが、ダメなら出来上がったSJISのものをいったんDLしてUTF-8に変換保存してUPします。ありがとうございました。 -- [[芋焼酎ファン]] &new{2006-09-14 (木) 12:55:37};
- もしかして、半角英数のみのファイルを作成されていますか? もしそうであれば、SJISもUTF-8も関係ないです (^^; -- [[teanan]] &new{2006-09-14 (木) 19:17:47};
- teananさんありがとうございます。今回の場合、文字コードは関係なかったのですね。不勉強でお恥ずかしい限りです。一応、結果報告しますと、</urlset>を閉じた後ろに余分な日本語を加えたものではサイトマップエラーになりました。(当然と言えば当然ですが) で、元々の投稿時に表示したもので作ったサイトマップは、クロール後24時間ほど経過した今のところ、エラーになっておりません。お騒がせしました。 -- [[芋焼酎ファン]] &new{2006-09-16 (土) 08:43:55};

#comment

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.066 sec.

OSDN