1

latin-1 mysqlデータベースをutf-8に変換しているときに、この記事に出くわしました( http://developer.loftdigital.com/blog/php-utf-8-cheatsheet

データベースが正常に変換され、アプリが正しく機能/出力されているように見えることに注意してください

mbstring拡張機能と関数のインストールと使用については、前述のリンクに記載されています。これは必要ではないようですが、これは私が考慮すべきか、無視すべきか、またはしなければならないことですか?

前もって感謝します!

4

2 に答える 2

3

すべてがUTF-8になっているため、文字列操作関数を使用すると(おそらく)問題が発生します。PHPの組み込み関数をMb_*関数でオーバーライドする(または組み込み関数を手動でMb_ *関数に置き換える)「mbstring.func_overload」オプションを有効にすると、これを回避できます。PHPマニュアルのこのページを参照してください

于 2009-12-03T12:47:24.600 に答える
2

まず第一に、mbstringはDBの問題ではなく、PHPの問題です。そして2番目に-はい、PHPで文字列を使って何かをしたい場合は、この拡張機能が必要です-たとえば、比較や分割などです。

最も簡単な例は、文字列を特定の長さにパディングすることです(検索リストに記事のプレビューがあるように)。標準のPHP関数を使用する場合、それらは1バイトで動作し、1つのUTF文字を「切り抜ける」ことができます。

Webサーバーを制御している場合は、いくつかの変数をオーバーロードできます。ただし、コードの移植性を高めるために、mb_*関数を明示的に使用することをお勧めします。最近、ほとんどのWebサーバーでこの拡張機能が有効になっています。

于 2009-12-03T12:55:18.673 に答える