今はあまり見なくなりましたが、一昔前はGmailでさえ文字化けがよく起こってましたね。 メールはインターネット初期から使われているシステムだけに仕組みが複雑です。 今回は、メールの文字化けが起きる根本的なメカニズムと、回避法について。 例によってPHPで書いてますが、他の言語でも考え方は通用すると思います。 メールの基本構造を理解する 文字化け対策の前に、まずメールがどのような構造になっているかを理解しましょう。 メールメッセージの大まかな構造 メールメッセージの形式はRFC 5322で規定されており、大きくヘッダ部とボディ部の2つに分かれます。 ヘッダ部 ──────────────── From: sender@example.com To: recipient@example.com Subject: 件名 Date: Mon, 10 Nov 2025 12:00:00 +0900
Qdmailは、あらゆる環境で文字化けゼロを目指すメールライブラリですが、その様々な状況に対応するために、多くの場所で文字コードの自動検出を行っています。 ところが、この文字コード自動検出は、完璧にすることが難しいため、かえって問題を起こすことがあります。 例えば、UTF-8に文字コードを統一しているはずなのに、自動検出でSJISと認定されてしまうようなことです。 1.1.3b以降では、この自動検出機能を停止し、すべて統一文字コードでオペレーションを行うという宣言を用意しました。 例)すべてUTF-8で統一している場合。 $mail -> unitedCharset( 'UTF-8' ); これで、すべての自動検出ルーチンで、強制的にUTF-8と認識させることができます。
PHP 7.0 は2018年12月3日に公式のセキュリティサポートが終了し、その前の2018年9月13日に 7.0 系最終リリースとなるはずだった 7.0.32 が公開された。しかし、セキュリティサポート終了後の2018年12月6日に 7.0.33 が公開された。 PHP 5.6 の公式のセキュリティサポートは当初2017年8月28日まで 6 だったが、5系最後のリリースであることを理由に 7 2016年始めに2018年末まで延期された。8 2018年12月6日にリリースされた 5.6.39 が最終リリースになるはずだったが、セキュリティサポート終了後の2019年1月10日に昔のよしみ (for old time's sake)で 5.6.40 がリリースされた。 9 PHP 5.5 は2016年7月10日に公式のセキュリティサポートが終了し、その前の2016年6月23日に 5.5 系最終
※ 5.0 ~ 5.5 までは Wikipedia から作成 ※ 5.6 以降は、PHP マニュアル Supported Versions http://php.net/supported-versions.php から作成 ※ 5系はサポート期間が一定ではありませんでした。 ※ 7系になってからは、3年のサポートスケジュールが忠実に守られています。 日本のレンタルサーバの状況 2017年2月 、エックスサーバーは業界の中でもいち早く、PHP の推奨バージョンを、5.6 から 7.0 に切り替えました。 みなさんのところでは、移行は進んでいるでしょうか。 バージョン5系は、アクティブサポート、セキュリティサポートとも、2018/12/31 に既に終わっています。 7.0でさえ、2018/12/08 に終了しています。5系より早かったところに注目してください。前述の一覧表のとおり、5系のサポ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは、とまだです。 AIエージェントを使い始めたけど、「動くコードは作ってくれるけど、品質が心配...」と感じたことはありませんか? 私も最初はそうでした。 Claude CodeやCursor、Codexを使っていると、確かに素早くコードを生成してくれます。 ですが、そのコードが本当に「良いコード」なのか不安になりますよね。 Zenn でこちらの記事が注目を集めているように、多くの方がコードの品質を気にしているようです。 そこで、AI駆動開発でより良いコードを書くための「共通ルールファイル」をご紹介します! ここでいう「ルールフ
【導入】 すべての始まりは、一枚の「AI利用ランキング」だった こんにちは、FLINTERS新卒エンジニアの野崎です。 突然ですが、皆さんはAIコーディングツール、活用していますか? 僕は8月頃から使えるようになった「Claude Code」にドハマりし、まさに"ゴリゴリ使い倒す"日々を送っていました。アイデアを壁打ちすれば設計のヒントをくれ、エラーコードを投げれば一瞬で解決策を示してくれる。まるで魔法使いのようなその力に、僕は完全に心酔していました。 しかし、そんな僕にある転機が訪れます。毎月発表される社内のAI利用状況レポートで、なんと僕が Claude Code利用者ランキング2位 にランクインしていたのです。 「え、俺がこんなに使っていいのか…?」「(従量課金だし)これ、まずいのでは…?」 一抹の危機感を覚えたのと同時に、僕は日々の開発業務に潜む、ある種の「ムダ」にも気づき始めてい
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 初めに 2024最新のAPIテストツールのおすすめでは、機能、負荷、セキュリティの面で非常に重要なAPIテストについて紹介します。専用のAPIテストツールを使用することで、テスト効率の向上、開発速度の加速、品質の向上、CI/CDとの連携のしやすさといったメリットが得られます。記事では、代表的なAPIテストツールとして、機能面に優れたApidog、負荷試験に適したJMeter、ノーコードテストが可能なTestfullyなど10個のツールを紹介しています。Apidogは、API設計、デバッグ、モック、テストを一体化した包括的なプラットフォー
前回の記事「PHP5.6からPHP7.2へのバージョンアップで画面が真っ白に!」で書いたように、いままでPHP5.6で使用していたXAMPP。 新しいお仕事ではPHP7.2で開発を行うためにXAMPPのPHPをバージョンアップしたところ、以前の案件で使用していたPDF出力用の mpdf が動かなくなり画面が真っ白になるという現象が起こってしまいました。 今後その案件での作業がなければよかったのですが、たまに機能追加、修正の依頼が来るため使用できなくなるのは都合が悪い。 PHP5.6に戻してしまうという手もあるが、今後のことも考えPHPバージョンを切り替えることが出来ないかと調べてみたところいくつかの記事を発見!。 参考:https://www.m-kobayashi.org/software/tools/Xampp_PHP_VUP.html そのままでは、うまく行かなかったので その記事を
この記事はGMOペパボ Advent Calendar 2017の13日目の記事です。 最近まで取り組んでいたこととして、10年以上ペパボを支えてきたサービスの一部Webアプリケーションにおいて、PEAR::DBの使用をやめて、PDOの使用に変更するというものがありました。 この記事では、取り組みの動機や、どのようなアプローチを採ったのか、また、そこから得られた知見などを紹介します。おそらく、相応に老舗であるPHPアプリケーションでしか、PEAR::DBと向き合う機会はないと思われますので、万人向けの記事ではないことを予めお断りしておきます。 動機と背景 まずはじめに、PEAR::DBとPDOについて、簡単に触れたうえで、今回の取り組みの動機と背景について整理します。 PEAR::DBとは PEAR::DBとは、PEARで提供されているデータベース抽象化のためのライブラリです。PEARのサ
とっても今更ですが、よく聞かれるのでfacebookのShare方法をまとめます。 facebookのShare方法には大きく分けると2種類あります。 1. sharer.phpを使う http://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fgoogle.com sharer.phpに「u」というパラメータでURLを渡せば、渡したURLのOGPを読み取ってShareを促すことができます。 この方法は、昔あったShareボタンのPluginのURLを抜き出したものなので、現在はShareボタンと同様に公式によるサポートはありません。 そのため、いきなりこの方法が使用できなくなる可能性もありますし、Share画面のレイアウトもきれいなものではありません。 いつの間にか、公式ドキュメントにsharer.phpが復活していました。https
The original XHProf extension recently found new maintainers and adds PHP 7 & 8 support based on a completely rewritten code-base for less overhead. You can install xhprof PHP Extension by compiling it from its open-source codes or from a package in your distribution. Head over to the Github repository and download the source from there. You can install the extension using these steps: git clone "
Reli を使った PHP 7.x/8.x サービスの計測 こんにちは。やまゆです。 サービスをリリースするにあたり、事前のシナリオテスト・負荷試験はなくてはならない項目です。 そこで主に API ごとの成功率、レイテンシ(リクエストしてからレスポンスが返ってくるまでの時間)、レスポンスサイズなどを計測し、想定されるユーザー数でも快適に遊べることを保証できるように改善を加えていきます。 改善の際、重くない部分をチューニングしてもほとんど効果が出ないので、「この API のどの部分(関数)に時間がかかっているのか?」を知ることが重要です。 それらを実際に動作している環境で計測し、可視化することを「プロファイリング」と呼ぶことがあります。 これは、ターゲットとする機能の実行時間について、「このメソッドに何秒かかった」や「全体の x % がこのメソッドで消費されている」などを確認するための仕組み
前項で自身のPC内に有効期限付きで、データを保存するクッキーについて学習しました。クッキーで情報を共有するには色々な制限があり、大量のデータを一時的に保存するには向きません。そのような場合クッキーの代わりに利用できる「セッション(Session)」という仕組みが用意されています。 11.3.1 セッションについて セッションを簡単に説明すると「サーバ内に情報を保存し、複数ページ間で共有する」仕組みのことです。 例えば、ショッピングサイトで利用されるカート機能などは、複数の商品ページを遷移し、カートに追加した各商品の情報をずっと保持している必要があります。このような場合にセッションにデータを登録することで、他の画面に遷移してもデータを取り出し利用することができるのです。 セッションでは下の図のようにデータを共有することができます。 図 11.3.1: セッションでデータ共有の流れ セッション
こんにちは、インフラエンジニアの赤倉です。 昨年末にCentOS8のサポートが終了したばかりですが、CentOS7のサポート期限が2024年6月末に近づいてきています。 そこで今回は、CentOSの次にくるディストリビューション候補の中からAlmaLinux8への移行を試してみたいとおもいます。 移行環境 移行元CentOSの環境は弊社でよく使っているLaravel構成としました。 CentOS Linux release 7.9.2009 (Core) Apache/2.4.6 PHP 7.4.28 Laravel Framework 8.83.1 MySQL Ver 14.14 Distrib 5.7.37 Laravelは初期インストール+認証設定まで完了した環境を用意しました。 移行ツール 今回の移行ではAlamaLinuxから提供されている「Elevate」を使います。 手順は公
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く