#author("2021-12-17T23:27:31+09:00","","") #author("2022-01-10T18:31:11+09:00","","") * 編集しようとすると本文が空になることがある [#t6675dda] - ページ: [[BugTrack]] - 投稿者: [[umorigu]] - 優先順位: 低 - 状態: 提案 - カテゴリー: 本体バグ - 投稿日: 2021-12-17 (金) 8:36:07 - バージョン: 1.5.3 ** メッセージ [#lded8abe] ここだけかもしれませんが、たまに発生しています。 -------- - 自分も以前にあったのですが、本体がUTF-8でページがEUC-JPでエンコードされている場合、空になってしまいますね -- [[はいふん]] &new{2021-12-17 (金) 15:48:53}; function get_source($page = NULL, $lock = TRUE, $join = FALSE, $raw = FALSE) { (...) if ($join) { // Returns a value $size = filesize($path); if ($size === FALSE) { $result = FALSE; } else if ($size == 0) { $result = ''; } else { $result = fread($fp, $size); if ($result !== FALSE) { $encoding = mb_detect_encoding($result, ['UTF-8', 'EUC-JP'], true); if ($encoding != "UTF-8") $result = mb_convert_encoding($result, 'UTF-8', $encoding); if ($raw) { return $result; } // Removing Carriage-Return $result = str_replace("\r", '', $result); } } } else { // Returns an array $result = file($path); if ($result !== FALSE) { $encoding = mb_detect_encoding(implode("\n", $result), ['UTF-8', 'EUC-JP'], true); if ($encoding != "UTF-8") { foreach($result as $line) { $result_tmp[] = mb_convert_encoding($line, 'UTF-8', $encoding); } $result = $result_tmp; unset($result_tmp); } // Removing Carriage-Return $result = str_replace("\r", '', $result); } } (...) } - ページのエンコーディングがEUC-JPでPukiWiki本体がUTF-8といった際でも正常に読み込めるようにget_source()内に変換するコードを試しにつくってみました。implodeを利用している等ちょっと処理が増加しそうな感じがあります -- [[はいふん]] &new{2021-12-17 (金) 23:16:54}; - 逆のパターンも検証してみたんですが、ページがUTF-8で本体がEUC-JPの場合も編集で空になってしまうようです -- [[はいふん]] &new{2021-12-17 (金) 23:27:31}; -- すみません。説明不足でした。このサイトで発生していることでしたので、文字コードがおかしいわけではないと思っています。数秒時間をおいてリロードすると本文が入ってきました。OSDNのプロジェクトWebサーバーのストレージはNFSなので、その辺に何かあるのかもしれません -- [[umorigu]] &new{2022-01-10 (月) 18:31:11}; #comment