• ベストアンサー

PHP が Unicode をネイティブにサポー

 「PHP が Unicode をネイティブにサポートしていない」とは!? どういうことなのでしょうか!?  以上宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#244856
noname#244856
回答No.2

Qiita - 【PHP入門講座】 文字列 http://qiita.com/mpyw/items/d61b50d90e84e289e2be サポートしていないとはいっても、上で述べている通りUTF-8を使えばだいたいの関数はマルチバイトにも対応できますね。

Campus2
質問者

お礼

ご回答誠にありがとうございます。  お返事が遅れて申し訳ございませんでした。 To_aru_User様のHPを読ませていただきました。  とても分かりやすく書かれていると感じました。 まだ、PHPは初心者レベルですので、よく読んで理解を深めたいと思います。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5239/13707)
回答No.1

PHPのString型は、内部ではバイト型の配列としてデータを取り扱っているため、関数の実装によってはデータをマルチバイトの文字では無くシングルバイトの文字としてデータを扱ってしまうためです。 substr関数などでマルチバイトの文字の1文字を途中で分割するような処理をすると、見事に分断してくれます。 これはデータを文字単位で扱っていない証拠です。 UnicodeをネイティブサポートしたString型のデータならバイト単位でデータを扱うのでは無く1文字単位で扱うので、1つの文字を分断してしまうような処理はできません。

Campus2
質問者

お礼

 ご回答誠にありがとうございます。 お返事が遅れて申し訳ございませんでした。  マルチバイト、シングルバイト等、初めて耳にする言葉です。      読むとPHPが文字をどんなに扱っているのかが分かります。    まだ、PHPは初心者レベルですので、まだ解説の言葉の意味につまずいている!レベルです。    よく読んで理解を深めたいと思います。

関連するQ&A