PHP日本語文字(マルチバイト文字)の処理。食べ歩きホームwebweb制作PHP日本語文字(マルチバイト文字)の処理。文字コードの把握も大切ですPHP日本語文字(マルチバイト文字)の処理。2017.01.24PHPには文字列を扱う関数があります。文字列チェックでエラーを防ぐ!PHPの文字列を扱う関数を紹介PHPには文字列を扱う関数が多く準備されています。これらを使うことでデータに誤りがないかをチェックしエラーを未然に防ぐことが可能です。実際にstrcmp、strlen、substrなどの簡単な関数を使ってどんなふうに文字列を扱うのかを見ていきたいと思います。coonelnel.net2017.01.23これらの関数は「1文字=1バイト」ということを前提にして機能しています。文字数を数える関数だったら、文字を数えているというよりもバイト数を数えているんです。これにより結果的に文字数が分かるようになっているわけです。日本語のように1文字で2バイト以上の文字コードも存在します。これらは「マルチバイト文字」と呼ばれます。マルチバイト文字は、1文字=1バイトではないので前回紹介した関数を使うと不具合が起きます。PHPで日本語(マルチバイト文字)を使うには、特別な処理をする必要が出てきます。基本的には文字列を扱う関数の前に「mb_」をつけることで日本語の文字列を扱うことが出来るようになります。文字列をカウントするstrlen関数だったら、mb_strlenを使うことで日本語の文字列も正しくカウントすることが出来ます。mb_strlen($a1);?>文字コードPHPで日本語を扱う上で1つのポイントとなるのが文字コードです。日本語1つをとってもいくつかの文字コードが存在します。webブラウザによっても使われている文字コードは様々です。同じ日本語でも文字コードが違う場合コンピュータは全く別のデータとして認識します。これにより文字化けが起こることがあります。それに対応するためにはPHP内で使用する言語、文字コードを正しく指定してあげる必要があります。そこで使われるのが「mb_language()」と「mb_internal_encoding()」です。mb_language()使用する言語を指定します。mb_language("Japanese");日本語は「Japanese」を設定しましょう。「ja」でもOKです。mb_internal_encoding()使用する文字コードを指定します。mb_internal_encoding("UTF-8");文字コードは他にもいくつかありますが、「webサーバ」「webブラウザ」「データべース」「PHP」が互いにどの文字コードを使っているかを理解できないと文字化けが起きてしまうので、正しく指定することが重要です。文字化けを防いだり修正するときに便利な関数を紹介しておきます。変換後の文字コード);最後にPHPで日本語文字列の処理をするには、文字コードを把握しておくのがポイントとなります。内部だけでなく、ブラウザ・サーバ・データべースも絡んでくることもしっかり把握しておきたいですね。web制作PHPTwitterFacebookはてブPocketLINE今村りょうCooNelNelスポンサーリンクスポンサーリンクスポンサーリンクスポンサーリンクプロフィール今村りょう料理が好きな家飲みブロガーです。お店ではなく、家でゆったり飲む「家飲み」の情報を発信中。みの牛すじカレー!お取り寄せレトルトカレーの魅力2020.02.10活きたうなぎを捌いて「蒲焼き」と「白焼き」を作ってみた2020.01.23民芸コンロを使ってちょっと贅沢な家飲みを!卓上七輪としても使えます2020.01.19焼き鳥との相性97%以上の日本酒「純米吟醸94(きゅうじゅうよん)」で家飲み!2020.01.13熊本馬刺しは熊本産じゃない!?「純熊本産馬刺し」は全国流通たったの1%2019.12.18ポテトサラダにクリームチーズを加えて居酒屋風ポテサラを作る!2019.11.29きびなごの刺身の漁師漬けが酒のつまみとして最高な件2019.11.21プロフィール今村りょう料理が好きな家飲みブロガーです。お店ではなく、家でゆったり飲む「家飲み」の情報を発信中。普段は在宅でwebのお仕事してます!包丁に関する知識や、家で魚を捌いて食べる楽しさを発信する「包丁日記」も運営中。CooNelNel.。