ワードプレスで「4バイト文字」を表示させる方法を解説していきます。
ワードプレスで入力した文字が投稿前は表示されていたのに、公開または下書き保存した際に、特定の文字だけが消えてしまったという経験ありませんか?
その消えた文字は、4バイト文字の可能性があります。
最初から4バイト文字に対応したワードプレスを提供しているレンタルサーバーもあるようですが、私の使っている『エックスサーバー』では、設定が必要でした。
ブログの記事を書いていて、特定の文字が消えてしまって困っている人は、是非お試し下さい。
「4バイト文字」問題の概要
ワードプレスで書いた記事は、MySQLというデータベースに格納されています。
MySQLで使われる文字コードは通常は「UTF8」になっています。
文字コード「UTF8」は、1文字を1~3バイトで表し、「UTF8mb4」は、1文字を1~4バイトで表します。
通常では滅多に使わない約300文字は4バイトで表わされ、これらの文字を扱う場合は、MySQL の文字コードを「UTF8mb4」 に変更する必要があります。
そこで「phpMyAdmin」にログインし、文字コードを「UTF8mb4」に変更すれば解決するというわけです。
「4バイト文字」対応確認テスト
ご自分のワードプレス環境が4バイト文字に対応しているかをテストしてみましょう。
『 ? 』…この漢字はホッケと読みますが、この「?」という漢字が4バイト文字なのです。
4バイト文字は、その他にもたくさんありますが、それは後半に参考資料として載せておきます。
このホッケという漢字をコピペして、ワードプレスの本文に貼り付けし、下書き保存してみましょう。
いかがでしょうか?文字が消えずに残っていたら、4バイト文字対応しており、消えてしまったら非対応という事になります。
「4バイト文字」に対応させる手順
はじめに、お使いのレンタルサーバーで『phpMyAdmin』が使用可能かを確認して下さい。
『phpMyAdmin(ピーエイチピー・マイ・アドミン)』は、データベース「MySQL(マイ・エスキューエル)」をブラウザで操作可能なWebアプリケーションです。
例として、エックスサーバーの場合、サーバーパネルから『phpMyAdmin』が選択可能になっています。
※データベースの上から4番目
【手順1】使用可能な場合は『phpMyAdmin』にログインします。
※『phpMyAdmin』が使用不可能な場合やわからない場合は、次の項目「phpMyAdminが使えない場合」にお進み下さい。
【手順2】phpMyAdminにログインしたら、左フレーム上から2番目の「ワードプレス用」のデータベース名の「+」をクリックして展開後『 wp_posts 』をクリックします。
ポイントとなる部分を赤枠で囲ってありますので参考にして下さい。
【手順3】右フレームに『wp_posts』が表示されるので、構造タブに切り替えます。
【手順4】『post_content』行の変更をクリックします。
【手順5】照合順序を『 utf8_general_ci 』になっていると思うので『 utf8mb4_general_ci 』に変更し、保存します。
【手順6】前項『「4バイト文字」対応確認テスト』を行い、正常に動作しているかを確認します。
phpMyAdminが使えない場合
ワードプレスの入力モードを「ビジュアル」から「テキスト」に変更し、16進Unicode『 𩸽 』を入力し、下書き保存または公開する事で『 ? 』を表示させる事ができます。
なお、テキストモードで16進Unicodeを入力した場合の注意点を覚えておいて下さい。
ワードプレスの文章入力モードをビジュアルに戻して保存や公開してしまうと、16進Unicodeで書いた文字が消えてしまいます。
記事の修正が必要になった場合には、ビジュアルモードを使わないで編集するのが一番良い方法ですが、ビジュアルモードを使って編集する場合は、修正作業の最後にテキストモードにし、4バイト文字の該当箇所を16進数文字コードを入力する必要があります。
いずれにせよ、phpMyAdminが使えない場合の4バイト文字を表示する簡易的な方法は、公開時にチェックが必要なので少し面倒ですから、phpMyadminが使えるレンタルサーバーをオススメいたします。
※Unicode(ユニコード)とは、符号化文字集合や文字符号化方式などを定めた、文字コードの業界規格です。
4バイト文字一覧・対応する16進Unicode
?(𠮟) ?(𡚴) ?(𡸴) ?(𣇄) ?(𣗄)
?(𣜿) ?(𣝣) ?(𣳾) ?(𤟱) ?(𥒎)
?(𥔎) ?(𥝱) ?(𥧄) ?(𥶡) ?(𦫿)
?(𦹀) ?(𧃴) ?(𧚄) ?(𨉷) ?(𨏍)
?(𪆐) ?(𠂉) ?(𠂢) ?(𠂤) ?(𠆢)
?(𠈓) ?(𠌫) ?(𠎁) ?(𠍱) ?(𠏹)
?(𠑊) ?(𠔉) ?(𠗖) ?(𠘨) ?(𠝏)
?(𠠇) ?(𠠺) ?(𠢹) ?(𠥼) ?(𠦝)
?(𠫓) ?(𠬝) ?(𠵅) ?(𠷡) ?(𠺕)
?(𠹭) ?(𠹤) ?(𠽟) ?(𡈁) ?(𡉕)
?(𡉻) ?(𡉴) ?(𡋤) ?(𡋗) ?(𡋽)
?(𡌶) ?(𡍄) ?(𡏄) ?(𡑭) ?(𡗗)
?(𦰩) ?(𡙇) ?(𡜆) ?(𡝂) ?(𡧃)
?(𡱖) ?(𡴭) ?(𡵅) ?(𡵸) ?(𡵢)
?(𡶡) ?(𡶜) ?(𡶒) ?(𡶷) ?(𡷠)
?(𡸳) ?(𡼞) ?(𡽶) ?(𡿺) ?(𢅻)
?(𢌞) ?(𢎭) ?(𢛳) ?(𢡛) ?(𢢫)
?(𢦏) ?(𢪸) ?(𢭏) ?(𢭐) ?(𢭆)
?(𢰝) ?(𢮦) ?(𢰤) ?(𢷡) ?(𣇃)
?(𣇵) ?(𣆶) ?(𣍲) ?(𣏓) ?(𣏒)
?(𣏐) ?(𣏤) ?(𣏕) ?(𣏚) ?(𣏟)
?(𣑊) ?(𣑑) ?(𣑋) ?(𣑥) ?(𣓤)
?(𣕚) ?(𣖔) ?(𣘹) ?(𣙇) ?(𣘸)
?(𣘺) ?(𣜜) ?(𣜌) ?(𣝤) ?(𣟿)
?(𣟧) ?(𣠤) ?(𣠽) ?(𣪘) ?(𣱿)
?(𣴀) ?(𣵀) ?(𣷺) ?(𣷹) ?(𣷓)
?(𣽾) ?(𤂖) ?(𤄃) ?(𤇆) ?(𤇾)
?(𤎼) ?(𤘩) ?(𤚥) ?(𤢖) ?(𤩍)
?(𤭖) ?(𤭯) ?(𤰖) ?(𤴔) ?(𤸎)
?(𤸷) ?(𤹪) ?(𤺋) ?(𥁊) ?(𥁕)
?(𥄢) ?(𥆩) ?(𥇥) ?(𥇍) ?(𥈞)
?(𥉌) ?(𥐮) ?(𥓙) ?(𥖧) ?(𥞩)
?(𥞴) ?(𥧔) ?(𥫤) ?(𥫣) ?(𥫱)
?(𥮲) ?(𥱋) ?(𥱤) ?(𥸮) ?(𥹖)
?(𥹥) ?(𥹢) ?(𥻘) ?(𥻂) ?(𥻨)
?(𥼣) ?(𥽜) ?(𥿠) ?(𥿔) ?(𦀌)
?(𥿻) ?(𦀗) ?(𦁠) ?(𦃭) ?(𦉰)
?(𦊆) ?(𦍌) ?(𣴎) ?(𦐂) ?(𦙾)
?(𦚰) ?(𦜝) ?(𦣝) ?(𦣪) ?(𦥑)
?(𦥯) ?(𦧝) ?(𦨞) ?(𦩘) ?(𦪌)
?(𦪷) ?(𦱳) ?(𦳝) ?(𦹥) ?(𦾔)
?(𦿸) ?(𦿶) ?(𦿷) ?(𧄍) ?(𧄹)
?(𧏛) ?(𧏚) ?(𧏾) ?(𧐐) ?(𧑉)
?(𧘕) ?(𧘔) ?(𧘱) ?(𧚓) ?(𧜎)
?(𧜣) ?(𧝒) ?(𧦅) ?(𧪄) ?(𧮳)
?(𧮾) ?(𧯇) ?(𧲸) ?(𧶠) ?(𧸐)
?(𧾷) ?(𨂊) ?(𨂻) ?(𨊂) ?(𨋳)
?(𨐌) ?(𨑕) ?(𨕫) ?(𨗈) ?(𨗉)
?(𨛗) ?(𨛺) ?(𨥉) ?(𨥆) ?(𨥫)
?(𨦇) ?(𨦈) ?(𨦺) ?(𨦻) ?(𨨞)
?(𨨩) ?(𨩱) ?(𨩃) ?(𨪙) ?(𨫍)
?(𨫤) ?(𨫝) ?(𨯁) ?(𨯯) ?(𨴐)
?(𨵱) ?(𨷻) ?(𨸟) ?(𨸶) ?(𨺉)
?(𨻫) ?(𨼲) ?(𨿸) ?(𩊠) ?(𩊱)
?(𩒐) ?(𩗏) ?(𩙿) ?(𩛰) ?(𩜙)
?(𩝐) ?(𩣆) ?(𩩲) ?(𩷛) ?(𩸽)
?(𩸕) ?(𩺊) ?(𩹉) ?(𩻄) ?(𩻩)
?(𩻛) ?(𩿎) ?(𪀯) ?(𪀚) ?(𪃹)
?(𪂂) ?(𢈘) ?(𪎌) ?(𪐷) ?(𪗱)
?(𪘂) ?(𪘚) ?(𪚲)