WordPress→メールマガジンでハイフンに文字化けが発生

この記事は、自分の為のコンピューター技術の備忘録としての意味合いが強いので、
専門的な話が読みたい人、気合の入っている人(笑)はお読みください。

これまで、メールマガジンで文字化けが何度か発生していました。

メールマガジンを始めました。 ブログの更新やブログには書けない記事などをお伝えするメールマガジンを発行しています。

こんな感じで、

8月29日(土)13:00 ? 18:00 Zoomカウンセリング
8月30日(日)13:00 ? 18:00 Zoomカウンセリング

ハイフンのところが文字化けして「?」マークになっていました。

色々と調べた結果、文字化けの原因が分かりました。

原因は文字コードなので、かなり専門的な話になります。

【文字化けの原因】

半角の横棒となるハイフンですが、英文ではハイフンとダッシュを合わせて五種類あります。(全角の横棒文字を入れるとさらに話が広がるのですが、メールマガジンの文字化けの話なので半角ハイフンのみ扱います)

①タイプライターや初期のコンピューター
このころは、ハイフンといっても一種類しかありません。

該当する文字 括弧内はASCIIコード 英文説明
日本語の説明

で、書いています。

- (2D) Hyphen-Minus
半角ハイフンであり、半角マイナス

②印刷業界やDTP、最近のコンピューターなど
こちらではハイフンとダッシュがあり、それぞれ使い方が異なります。
ハイフンとダッシュの使い分けは、元々は印刷業界だけで使われていたものだと思います。

昔のコンピューターのASCIIコードの時代は、ハイフンが一種類しかなかったので、一つの文字で色々と使いまわしていました。

その後印刷物がパソコン上で編集されるようになり(DTP)、またインターネットの普及で文字コードにUTF-8が使われるようになって、ハイフンやダッシュという様々な横棒がコンピューターで使われるようになります。

該当する文字 括弧内はUnicode(=UTF-8 *1)の文字コード 英文説明
日本語の説明

で書いています。
*1 厳密には、Unicode=UTF-8ではないのですが、文字化けがテーマなので、Unicode=UTF-8と考えても良いと思います。

‑ (U+2011) Non-Breaking Hyphen
改行不可を示すハイフン
‒ (U+2012) Figure Dash
半角数字と同じ幅のダッシュ 電話番号など数字と合わせて使う
– (U+2013) En Dash
数値の範囲を示す
— (U+2014) Em Dash
引用や副題、説明に使用する

ブログのツールであるWordpressではハイフンの扱いについて厳密に適用したため、ブログ記事の時間帯の部分に入力した半角ハイフンが、数値の範囲を示すEn Dashに変換されて表示されます。

そのため、ブログの記事の時間帯の部分をコピペすると、半角ハイフンではなくEn Dashがコピペされます。

ところが、メールマガジンはJISコードでシステムが組まれているので、Unicode(=UTF-8)の文字であるEn Dashがあると文字化け「?」を起こしてしまいます。
文字化けの原因は、この文字コードが異なるのが原因でした。

【文字の入力方法】

上記のハイフンとダッシュの入力方法はいくつかありますが、簡単なのはMS Wordで文字コード 2014 を書いて、[ALT] + X とすると該当文字に変換されるので、そこからコピペすると入力できます。

【文字化け対策】

メールマガジンを送る時に半角ハイフンの部分は打ち直しすることで、JISコードのハイフンになり文字化けしなくなります。

他には、Wordpressのソースコードを書き換えることで変換しないようにすることもできます。今回のハイフンの変換については、適用した方がいいのかそうでないのかの判断を保留しているので、打ち直しで対応します。

【追記】

メールマガジンは、JISコードなので上記以外にも機種依存文字を使うと文字化けが発生します。

以下のページに簡単な説明があります。
また機種依存文字を使っていないかチェックできます。

機種依存文字チェッカー
https://www.submit.ne.jp/tools/check

【参考記事】

WordPress ハイフンの文字化け(自動変換)を防ぐ方法
https://webkaru.net/wordpress/wptexturize-hyphen-en-dash/

【WordPress】特殊文字が自動変換されるのを回避する方法。
https://on-ze.com/archives/2967

テキスト・画像のコピーはできません。