modx evolutionとphp7.4で日本語文字化け

mariadbにコンテンツを書き込む時に、日本語が文字化けすることに気付いた。
判断した理由は、サイト構築時に作成したページの日本語は文字化けしないのだから、utf8で保存済みのデータは問題なく読み込めているからだ。
念の為にdbのレコードを直接確認したら、追加した記事のcontentsカラムのレコードが文字化けしている。
dbのレコードを直接日本語で書き換えれば、ブラウザの表示は文字化けしない。
となれば、modxからmariadbを操作している処理を探すしかない。
modxのフォーラムで昔のバージョンで同じように日本語というかマルチバイト文字が化けてしまう事象があって、正しい対応ではないが、少なくとも日本語ならば問題なく対策しましたみたいな運営の記事があった。
具体的な修正内容までは触れていないが、どうやらdbapiとやらが存在していてそこをいじったらしい。
ubuntuのvpsでdbapiを探すとフォルダがある。
その下に、mysql用のphpと、mysqli用のphpファイルがあった。
お決まりのsqlインジェクション対策の処理をescapeというモジュールで実装しているとかフォーラムで書かれていたので、それを探す。
自分の環境で実行されるパスを見ていくと、utf8を別の文字コードに変換してそれをsqlインジェクション対応するための変換処理をしてから再びutf8に戻している。
どうやらここが、今回の事象を引き起こすようになったらしい。
自分の環境では、スパム書き込み対応が面倒くさいので、コメントも受け付けないし、メールフォームも受け付けない。
captchaとか使えば機械的なスパムはブロックできるが、そればかりではない。
やはりsqlインジェクションは怖いのでブロックするのは必須。
逆にマルチバイト文字は日本語しか使わないので、理由がわからないmb convertは不要。
phpファイルを修正して対応完了。

気付かないうちに

このサイトのCMSであるModxEvolutionがどうもうまく動かなくなっていた。
ほとんど、このブログ更新しかしていないのだが、後継のCMSであるEvolutionCMSをインストールしてみたが、記事の日本語が文字化けしてしまう。
もしかしたらと思い、こちらのCMSでも管理画面から記事を書き換えてみると日本語が文字化けする。
こうなると、いつからこの状態になっていたのかサッパリわからない。
管理画面で文字入力している時には普通に見えているので、DBに書き込んだデータを読み込むと文字化けするということだ。
実はこのブログ記事データはWordpressのデータベースに格納されているものを、スニペットで読み込んで表示しているので、DBから読み込む処理に問題は無い。
さらに言えば、Wordpressが書き込んでいるデータも正常ということだ。
Modxの過去の記事も文字化けはしないので、過去に書き込んでいたデータも、おかしくはない。
最近やったことで怪しい可能性があるのは、mariadbの再インストールくらいだが、ここで根本的におかしくなったのならば、表示もまともにできないだろうし、WordPressの書き込みも正しくできていないだろう。
となると、以前のバージョン変更の時とかが怪しいが、新規セットアップしたEvolution CMSでも文字化けするのだから、PHP7.4に対応しきれていないと考えるのが妥当なところか。
動作速度に絶対的信頼をもつCMSだけに、何とかしなくちゃと思うわけだ。

新たな変異株

南アフリカでコロナウイルスの新たな変異株による感染者が増加している。
悪評高いWHOが注意喚起を促す変異株だと発表した。
まだ、日本国内でのこの変異株の感染は見つかっていないが、従来の水際対策ではパンデミックは防ぐことができないことが示されてきた。
残念ながら、いずれこの変異株による感染者が国内でも見つかるだろうことは想像に難くない。
注目すべきなのは、この変異株の発見で世界的な株安が起きたということだ。
東京株式市場では取引量自体が減少しているということで、仕手筋が介入しやすい状況とも言える。
結局年末に向けて、自粛が必要になるのかとの心配が杞憂になれば良いのだけれど。

ブラックフライデー

リモートワークでちょっとスペックの良いPCが必要になった。
ローカル環境で仮想マシンを動かしての開発となると、そこそこメモリを積んでいないと、モッサリしてしまう。
どうせなら、ブラックフライデーのタイミングでお得に手に入れたいと思ったが、思うように安くはなっていない。
今の通常業務は、貸与された認証済みのPC。
案件終了で、次の案件ではPCはこちらで準備する。
今年初めに購入したノートPCはCPUがRYZENでwindows11では遅いと言われているし、メモリも8gbと仮想マシンを動かすには少々心もとない。
また、仮想マシンをほぼ常時起動していると、マルチモニター環境にしたい。
今は自前の21インチの液晶モニターと、PCと一緒に貸与されている24インチのモニターでマルチモニターにしている。
ノートPCは閉じた状態で、2台のモニターを並べている。
同じような環境にしたいので、モニターは新規購入。
PCは久々にデスクトップを選んだ。
モニター出力はデスクトップならば、vgaとhdmiの2系統出力できるが、vgaケーブルが無い。
vgaからhdmiに変換して、hdmiケーブルでモニターに接続することにした。
世界的な半導体不足で納期が気になったが、即納品を選んで購入。
もうじき新たな案件。
新しいことに携われることが嬉しい。

一気に冬模様

とか書いてはいるが、まだ初雪は見ていない。
だが、気温は下がった。
例年であれば、12月になってから冬タイヤに交換するのだが、11月のうちに交換した。
スタッドレスタイヤも経年劣化でゴムが固くなっていたので、買い替えて交換した。
4-5年でのタイヤ買い替えがどうなのかというところもあるが、そろそろヤバイなと思ったので今年買い替えを決めた。
シャーベット状の雪が路面に積もるだけで、ノーマルタイヤではまともには運転できない。
昨シーズンの冬はドカ雪でスーパーに歩きで買い物に行って、戦後の買い出しはこんな感じだったのかと勝手な想像をした。
今年はラニーニャ現象らしく、海水温が下がっているので、海からの大量の水蒸気がドカ雪になって降り積もるということもないだろう。
まもなく、12月。
今年も終わる。

円安

円安が進んでいると新聞に載っていた。
1ドル115円台。
輸出企業にとっては、ドル建てで販売したもののドル価格が同じでも手にできる円が増えるので、利益率があがる。
一方で原材料などを輸入する企業では、原価率が上がり利益率が下がる。
日本全体で考えれば、輸出金額が輸入金額よりも多いのだから、円安の方が円建てでの金額がより膨らむので、円安を抑える動きは出にくい。
原油価格の高騰が騒がれているが、こちらも円安が進めば、調達費用が増えるのでさらに小売価格が高くなる。
対ドルでの固定相場がなくなったのは、1973年。
まだ50年にも満たない歴史しかない。
1ドル360円という記憶が残る世代にすれば、115円台が円安と言われても十分に円高だとも言えるだろう。
よく、国際的な物価指数の比較でマクドナルドのビッグマックの円換算価格が使われたりする。
これだけで比較するのはとても乱暴な話なのだけれど、日本よりも高い値段となる国の中には、経済的に日本よりも弱いと考えられる国もある。
万が一、1ドル360円時代に戻れば、ビッグマックの価格はどうなるか?
輸入材料コストは3倍近くになるが、おそらくインフレが進み、人件費はもっと上がっているだろう。
そうなった時に、世界一ビッグマックの値段が高い国になったとしても、それはインフレによる物価指数の高騰であり、国が豊かになったわけではない。
昔、海外製品が高価で高品質で、国内製品は安価で低品質というイメージがあった。
中国製は低品質だという感覚は中国の若者の中では無くなってきているという。
バブル崩壊が全ての根源だとはすでに言い切れない。
経済的に世界一になるにしても、このまま日本経済が疲弊しても日本の貧富の差はもっと大きくなる。

こんなところに

画像加工ソフトをダウンロードした。
昔から定番のgimpを選択したのだが、インストール時にちょつとしたショックを受けた。
インストール時に言語選択が可能なのだが、プルダウンリストに日本語がない。
歴史あるソフトなので、以前から標準で日本語の選択はできなかったのかも知れないが、これはもしかすると深刻な事態かもしれない。
と思ったが、起動して安心した。
標準で日本語でセットアップされていた。
だが、いつの日か日本全体が情報弱者になる可能性がかなり高いのだろうなと思う。
技術者の報酬が海外に比べてかなり低い。
確かに、今のIT技術者のレベルには不安が多い。
個々のレベルを上げるというより、チームとしてのレベルを上げることが重要で、目的を明確にもつこと、開発手法がアジャイルだとしても、ある程度の終着点というか、達成目標が共有できていることがあまりできていない気がする。
もちろん、総合的なIT企業のプロパーで下請けにはならないような企業の従業員であれば、目標意識共有ができているとの反論もあるだろう。
主要産業として定めるものに、良質な人的資源が集中できるような環境作りを整えるには、すでに時を逸している気もする。
かつての中国のように、金額的な優位性を活かしてGAFAでエンジニアとして成長させるようなことは今からでもできる気はする。

レンタルサーバーのサイト

開業してからずっと契約しているさくらインターネットのレンタルサーバー。
価格も安く、とにかくお手軽。
サイトの作成も、ホームページビルダーで作ったものから始まり、cmsにしてからも、いくつかの種類を試してきた。
cmsに関しては、phpのバージョンだったり、rdbmsのバージョンだったり、webサーバのバージョンだったりに影響を受けてしまう。
vpsであれば、自分でモジュールのバージョンアップも管理できるので、セキュリティに大きな問題がなければ、動作環境を維持したまま運用ができる。
レンタルサーバーの場合、アプリのインストールサービスを提供していないものだと、自分でインストール資材をアップロードしてインストールしなければいけない。
このブログを動かしているのはvps上に構築しているmodx evolution。
とにかく動作が速い。
たいしたアクセス数も無いので、webサーバはapacheでも構わないのだが、とにかく速くとなるとnginxにしている。
レンサバの方は環境のアップデートがいつ行われるかわからないし、勝手にインストールしているので動かなくなるリスクは利用者が負うことになる。
自宅作業用のノートパソコンをwindows11にして、edgeでのサイト表示を確認したところ、webのサブフォルダにインストールしたMODXが動作しなくなっていた。
ルートのMODXとサブフォルダにインストールしたレンサバ提供のWordPressは問題なく動作している。
サブフォルダのMODXはスニペットで曜日判定して表示を変更したり、レスポンシブデザインのテンプレートを使っていたりするのだが、こんなこともできますよ程度のサイトだったので、内容の更新は全くしていなかった。
それが表示できなくなっていたので、どうするものかと思ったわけだ。
さくらのレンサバはcmsとしてWordPressとconcrete5がサポートされている。
conctete5はvpsにもセットアップは試みたが、nginx環境でのインストールがうまくいかず、諦めていた。
concrete5はサイトデザインがドラッグアンドドロップで編集できるなど、レイアウトにこだわる利用者には運用が楽そうなcmsで興味があった。
さくらのレンサバは所詮レンサバなので、サーバイメージのバックアップデータを作ろこともできないし、メールサーバとしての役にしかたっていない。
そのメールもwebサイトに適用できるlet’s encryptの証明書と連携していないのかthundetbirdをメールクライアントで利用すると、アンチウイルスソフトも含めて証明書エラーが表示される。
とにかくイチイチ面倒くさい。
いずれは、vpsにマルチドメインでの運用統一とするつもりではいるのだが、vps側のメールアカウントがレンサバのアカウントと同じ名前だったりするので、それぞれを別のアカウントとして扱うにはメールサービスをサブドメイン対応にしてやるなどの設定変更が必要になる。
かつて主流だったpopならば、サーバ側にメールが残らないので、このあたりの設定を変えても気にならないのだが、imapになるとデータがサーバサイドに保持されているので、アーカイブ保存しているメールデータなどが消えてしまう可能性もある。
脱線してしまったが、本来のメインサイトはconcrete5での運用に移行中。

何が正解なのか、誰もわからない

何故、日本の人口は減少したのだろう。
差別だと言われるだろうが、男女雇用機会均等法が大きな影響を与えただろうと言うのは個人的には感じる。
男女が同じように働く機会を持ち、会社員として同じように扱うとなったため、女性の収入が増えることになった。
そして、情報の開示。
生涯賃金という言葉があり、最終学歴により生涯賃金にどのくらいの差が生じるのか。
そして就職難で、出身校のブランド力。
これにより、子供の養育費が高騰した。
親はかかる費用のために、子供を多くもうけなくなり、子供は教育で自由が減り、不快な体験を強要する親を尊敬できなくなる。
そして、自分が親となった時に、親の行動の意味を知るが、自分がもつ親に対する敬愛の薄さを思うと、子供を持つことに喜びよりも、自分の生活を圧迫する事態を嫌う。
大学生と、高校生、中学生でどれだけ社会で活躍できる能力に差があるだろう。
終身雇用制度の崩壊は確実に始まる。
一方的な高齢者の雇用義務を押し付けられた企業。
絶対的な企業の切り札がある。
賃金カットだ。
サントリーではないが、正社員は45歳から賃金が下がり始める。
例えば毎年1割下がるとなると、5年後には半額に近くなる。
ただし、委託契約のかたちをとれば能力に応じて報酬が支払われる。
希望退職を募ると、優秀な人材から辞めていくという傾向が強くなる。
優秀ではないと自分でもわかっている人は、新しい環境への挑戦に躊躇するからだ。
もちろん、定年まで同じ企業で勤め上げる人も素晴らしい。
何よりも、まずは公務員の給与制度から見直すべきだろう。
優秀な人にかかる税金は納得できるが、そうでない人に対する税金が適切な金額なのか?
公共サービスの直接行使者を共助の名目で町内会などのお金を払わなくて済むところになるべく移行させることは、役所とすれば費用の削減になり、人件費を含む支出総額を誤魔化せるだろうが、内部評価基準が世間では非常識な場合もあることを考えているのだろうか。
公務員こそ一般企業で10年以上の勤務実績がないと、採用しないなどの改革をしてほしいものだ。

windows11

windowd10からアップグレードした。
windows10が最後のWindowsじゃ無かったのかよとツッコミたくなるが、仕方がない。
自治体のパソコンのosは無償のlinuxにしようという試みもあったが、実態はどこまで普及したのだろうか。
今ではパソコンを使うのは、自分たちのようなIT関連の仕事をするものくらいで、一般の人はスマートフォンがあれば事足りる。
新しいWindowsをリリースすると、かなりの売上が計上できたマイクロソフトだが、今回の販売開始ではそれほど注目されていないようだ。
windows向けのアプリもクラウドに殆ど移行してしまえば、ブラウザさえ動かせる環境ならOSは選ばない。
しかしかつては90%を超えるシェアを誇ったインターネットエクスプローラもGoogle chromeに覇権を奪われ、edgeで起死回生を狙っている。
長期戦略として、ブラウザシェアをとっても、スマホのプラットフォームとしてwindowsが覇者とならなければどうしようもない気がするけどね。