- ベストアンサー
PHP が Unicode をネイティブにサポー
「PHP が Unicode をネイティブにサポートしていない」とは!? どういうことなのでしょうか!? 以上宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#244856
回答No.2
Qiita - 【PHP入門講座】 文字列 http://qiita.com/mpyw/items/d61b50d90e84e289e2be サポートしていないとはいっても、上で述べている通りUTF-8を使えばだいたいの関数はマルチバイトにも対応できますね。
その他の回答 (1)
- t_ohta
- ベストアンサー率38% (5239/13707)
回答No.1
PHPのString型は、内部ではバイト型の配列としてデータを取り扱っているため、関数の実装によってはデータをマルチバイトの文字では無くシングルバイトの文字としてデータを扱ってしまうためです。 substr関数などでマルチバイトの文字の1文字を途中で分割するような処理をすると、見事に分断してくれます。 これはデータを文字単位で扱っていない証拠です。 UnicodeをネイティブサポートしたString型のデータならバイト単位でデータを扱うのでは無く1文字単位で扱うので、1つの文字を分断してしまうような処理はできません。
質問者
お礼
ご回答誠にありがとうございます。 お返事が遅れて申し訳ございませんでした。 マルチバイト、シングルバイト等、初めて耳にする言葉です。 読むとPHPが文字をどんなに扱っているのかが分かります。 まだ、PHPは初心者レベルですので、まだ解説の言葉の意味につまずいている!レベルです。 よく読んで理解を深めたいと思います。
お礼
ご回答誠にありがとうございます。 お返事が遅れて申し訳ございませんでした。 To_aru_User様のHPを読ませていただきました。 とても分かりやすく書かれていると感じました。 まだ、PHPは初心者レベルですので、よく読んで理解を深めたいと思います。