PHP5.4におけるhtmlspecialcharsの後方互換性について

質問全般・改善要望
アバター
enogu
メンバー
メンバー
記事: 32
登録日時: 2009年9月02日(水) 23:56

PHP5.4におけるhtmlspecialcharsの後方互換性について

投稿記事by enogu » 2013年8月23日(金) 18:44

PHP 5.4からhtmlspecialcharsのデフォルト文字コードがlatin-1(ISO-8859-1)からUTF-8に変わった影響で、編集フォームの表示が消えるという問題が発生しているようです。

以下が問い合わせの原文です

allerbest
in manager/actions/mutate_content.dynamic.php line 737 says:

コード: 全て選択

<?php echo htmlspecialchars(stripslashes($content['introtext']))?></textarea>


but since PHP 5.4 htmlspecialchars no longer defaults to ISO-8859-1, but to UTF-8.
and this means: the function returns an empty return in my case (since I use ISO-8859-1)
and this breaks _all_ manager functions

better:

コード: 全て選択

htmlspecialchars($content['content'],ENT_COMPAT,"ISO-8859-1")

I'm not familiar with MODx bug stuff - where to put this?

原文以上

彼はhtmlspecialcharsの後方互換性を維持する形で回避するべきだと主張していますが、こういう話は本家フォーラムの方が適切でしょうか?(とりあえずBTSに登録しておくことをお勧めしました)

参考:
encoding
変換に使用されるエンコーディングを指定します。 省略した場合のデフォルト値は、PHP 5.4.0 より前のバージョンでは ISO-8859-1、そして PHP 5.4.0 以降では UTF-8 となります。 ― htmlspecialchars(PHPマニュアル)
http://php.net/manual/ja/function.htmlspecialchars.php
アバター
yama
管理人
記事: 3125
登録日時: 2009年7月29日(水) 02:50

Re: PHP5.4におけるhtmlspecialcharsの後方互換性について

投稿記事by yama » 2013年8月23日(金) 19:00

https://github.com/modxcms-jp/evolution ... 0ffe55ad21
ちょうどきのう日本語版でも同じような修正を行なったところでした。(日本語版はほぼUTF-8一択ですがテキストファイルはShift_JISとかいろいろあるので)
日本人以外の人ならBTSに書いてもらうと確実です。投稿の仕方がよく分からない人がほとんどだと思いますが、意味さえ通じれば対応できますので。
アバター
enogu
メンバー
メンバー
記事: 32
登録日時: 2009年9月02日(水) 23:56

Re: PHP5.4におけるhtmlspecialcharsの後方互換性について

投稿記事by enogu » 2013年8月23日(金) 19:15

ありがとうございます。

どうもRedmineのサインアップのやり方が分からないらしく(私にも見つけられませんでした :| )、代わりに投稿してきました。
http://tracker.modx.com/issues/10097

追伸:
バグかどうか判断に悩んだ結果Featureとして報告してあります。
アバター
yama
管理人
記事: 3125
登録日時: 2009年7月29日(水) 02:50

Re: PHP5.4におけるhtmlspecialcharsの後方互換性について

投稿記事by yama » 2013年8月24日(土) 00:38

BTSのアカウント作成が分かりにくい件ですが、modx.comにアカウント作ればSSOでログインできるみたいです。
ライアンとジェイには「そこを分かりやすく説明しないとかえって分かりにくいぞ」と伝えましたが、「調べてみたが、enoguは問題なくログインできてる」という返事でした。

・・・。
アバター
enogu
メンバー
メンバー
記事: 32
登録日時: 2009年9月02日(水) 23:56

Re: PHP5.4におけるhtmlspecialcharsの後方互換性について

投稿記事by enogu » 2013年8月24日(土) 23:25

ありがとうございます。

私はJIRAだった当時作ったアカウントが移植してもらえているようなのですが、ご新規さんが難儀しておられたようで。
新規登録の方法を案内しようとしたものの自分でも見つけられなかったというオチでした…

今度彼を見かけたらお伝えします。

余談:
先日rtfm.modx.comがConfluenceじゃなくなって記事がいきなり減ったという騒動があったのですが、Redmineも含めて裏ではたぶん単一のRevoマネージャで管理する形に置き換えられつつあるのでしょうね。
アバター
yama
管理人
記事: 3125
登録日時: 2009年7月29日(水) 02:50

Re: PHP5.4におけるhtmlspecialcharsの後方互換性について

投稿記事by yama » 2013年8月30日(金) 20:23

https://github.com/dmi3yy/evolution/blo ... ss.inc.php
こんな感じで対応しました。本家版1.0.11として9月中旬頃にリリース予定です