皆さんはリリース後に文字化けが発生して、道頓堀に飛び込みたくなったことはありますか?
私はあります(※)。
PHP8.2の下位互換性のない修正の1つにmb_detect_encodingの文字コード検出の仕様変更があります。
私が担当しているメール共有サービスのメールディーラーで、バージョンアップ後に一部の受信メールが文字化けをしました。
原因は受信したメールのエンコード時に、前述のmb_detect_encodingを使っていたことです。
下位互換性がないPHPの仕様変更だったため、文字化けを回避することができず、
メールヘッダに文字コードの指定がないメールまで対応することになり、その対応に述べ約7人日かかりました。
メールディーラーのテクニカルリーダである私が、顧客対応で泣きをみたことを中心に苦労した経験をお話しいたします。
※実際には飛び込んでいません。