#author("2022-04-03T21:31:43+09:00","","") #author("2022-04-03T21:37:58+09:00","","") [[上へ>../]] RIGHT:&size(12){Category: [[UTF-8>BugTrack2/186]]}; * PukiWikiの文字コードについて [#n2253575] - PukiWiki 1.5.1 以降、PukiWikiはUTF-8版の利用を推奨しています - PukiWikiの新規利用の際にはUTF-8版を利用してください - 既存のEUC-JP版のサイトをUTF-8に変換・移行するために [[EUC-JP to UTF-8]] のツールを利用できます *&aname(utf8);EUC-JPからUTF-8への移行 [#vd0e1f50] &size(25){&color(red){このページの情報は古くなっています。 [[EUC-JP to UTF-8]] を参照してください。};}; *&aname(utf8);EUC-JPからUTF-8への移行 [#vd0e1f50] :&color(crimson){【注意】};| ~UTF-8化はやりたい人だけがすることで、''PukiWiki 1.4の動作に必要なことではありません。'' ~また、UTF-8化することを''おすすめしているわけではありません。''むしろ、今後のバージョンアップやメンテナンス作業を考えれば、''従来通りEUC-JPを推奨します。'' ~UTF-8化した場合、phpファイルやskinファイルなどの編集はUTF-8対応のエディタで行なう必要があります。PukiWikiのバージョンアップ(差分のパッチ当てを含む)の際もphpファイル(差分ファイルを含む)をUTF-8にコンバートする必要があります。 ~UTF-8化が必要でない人、UTF-8を扱える環境にない人は、以下の操作は行なわないように。 //:&color(crimson){【必要条件】};| //~PHP 4.3.0以上でないと、「~」が「〜」に文字化けします。[[BugTrack/246]]参照。 //~PHP 4.3.0以上でないと、中国語や韓国語との混在使用で、文字が消える場合があります。[[BugTrack/282]]参照。 :&color(crimson){【警告】};| ~UTF-8化の作業は、必ずPukiWiki 1.4が動作している環境で行なってください。 ~PukiWiki 1.3系列の人は、あらかじめ、[[PukiWiki/1.4/1.3系からの移行]]に従い、PukiWiki 1.4にアップデートし、PukiWiki 1.4が動作することを確認しておいてください。 ~PukiWikiの各ディレクトリ、ファイルのパーミッションが正しく設定されているか、作業の前に確認しておいてください。 最新の情報については、UTF-8版関係のまとめ([[BugTrack2/186]]) も確認してください #contents ---- **バックアップ [#neec5f2e] バックアップは非常に大切です。以下の作業を行う前に、*.phpやスキン、プラグイン、attach,backup,counter,diff,wikiディレクトリを含む全てのデータをバックアップしてください。(やり方はお任せします :) ) **準備するもの [#aa38d1c4] -[[jcode_1.34.zip:http://www.spencernetwork.org/jcode/]]をダウンロード -ダウンロードしたjcode_1.34.zipを解凍し、中のファイルをpukiwikiのplugin/jcode_1.34ディレクトリにアップロード **手動で書き換える部分 [#q17a01dc] -init.php define('SOURCE_ENCODING','EUC-JP'); を define('SOURCE_ENCODING','UTF-8'); に変更。 -pukiwiki.skin.en.php <?php header('Content-Type: text/html; charset=iso-8859-1') ?> <?php echo '<?xml version="1.0" encoding="iso-8859-1"?>' ?> を <?php header('Content-Type: text/html; charset=UTF-8') ?> <?php echo '<?xml version="1.0" encoding="UTF-8"?>' ?> に変更。 <meta http-equiv="content-type" content="application/xhtml+xml; charset=iso-8859-1" /> を <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" /> に変更。 -pukiwiki.skin.ja.php <?php header('Content-Type: text/html; charset=EUC-JP') ?> <?php echo '<?xml version="1.0" encoding="EUC-JP"?>' ?> を <?php header('Content-Type: text/html; charset=UTF-8') ?> <?php echo '<?xml version="1.0" encoding="UTF-8"?>' ?> に変更。 <meta http-equiv="content-type" content="application/xhtml+xml; charset=EUC-JP" /> を <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" /> に変更。 **ファイルのコンバート [#k806a570] //-[[しろくろのへや:UTF-8]]からconvert.phpをダウンロード //-ダウンロードしたconvert.phpをconvertディレクトリにアップロード -[[PukiWiki/1.4/1.3系からの移行]]ページに添付されている&ref(convertcode.inc.php,[[PukiWiki/1.4/1.3系からの移行]]);をpluginディレクトリにコピー -http://.../pukiwiki.php?plugin=convertcodeを実行 -pluginディレクトリのconvertcode.inc.phpを削除 -pluginディレクトリのjcode_1.34ディレクトリを削除 &color(red){上記のものは、古いのでそのままでは現在の構成では問題があります。ご注意ください}; &new{2004-11-12 (金) 07:57:33};時点 **InterWikiNameの再編集 [#z2463fae] -エンコード指定を変更する必要がある。 --無指定やpwやywになっているものは、相手側のコード(euc、utf8など)を指定 **注意 [#z1d99038] -UTF-8では日本語1文字が3バイトになるため、ページを階層化している場合、ファイル名が長くなり過ぎてコンバートできない場合があります。深い階層・長いページ名を使っている場合は要注意。--[[reimy]] SIZE(10){2003-03-06 (木) 18:26:55} **Internationalization of UI(in case you are running internationalized wiki) [#l054d3d2] -'''simple''' i18n of UI :) (We should use gettext or something like that in the long run, but for now..) --- pukiwiki.ini.php~ Mon Feb 7 22:22:40 2005 +++ pukiwiki.ini.php Mon Feb 28 12:57:39 2005 @@ -37,7 +37,17 @@ define('LANG', 'ja'); // UI_LANG - Content Language for buttons, menus, etc -define('UI_LANG', LANG); // 'en' for Internationalized wikisite +$UI_LANG = LANG; // Default UI language, 'en' for English + +$use_utf8 = 1; +if ($use_utf8) { + preg_match('/^([^-,;]+)(-|,|;|$).*/', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $lang); + if (is_readable("$lang[1]_utf8.lng.php")) + define('UI_LANG', "$lang[1]_utf8"); + else + define('UI_LANG', $UI_LANG); +} else + define('UI_LANG', $UI_LANG); ///////////////////////////////////////////////// // Directory settings I (ended with '/', permission '777') it tries to find language file(e.g. ja_utf8.lng.php, ko_utf8.lng.php) according to user's browser setting and defines UI_LANG. -- [[xo]] 2005-02-28 (月) 13:46:48 **コメント [#l53a5608] #pcomment()