ホームページ  >  記事  >  バックエンド開発  >  PHP_PHP チュートリアルの PDO での中国語文字化け問題を解決するための補足

PHP_PHP チュートリアルの PDO での中国語文字化け問題を解決するための補足

WBOY
WBOYオリジナル
2016-07-21 15:34:28820ブラウズ

私の環境は appsver パッケージです。

インターネット上の中国語の文字化けを解決する最も一般的なコードは次のとおりです:

最初のコード: PDO::__construct($dsn, $user, $pass, array

(PDO) ::MYSQL_ATTR_INIT_COMMAND => "SET NAMES'utf8';"));

最初の方法を試しましたが、結果は名前フィールドに「C」文字のみが表示されます。その後、中国語が表示されるはずの場所が空白になります。

結果は次のようになります: 図 1 に示すように
PHP_PHP チュートリアルの PDO での中国語文字化け問題を解決するための補足
私が解決する必要があるのは、UTF8 を GBK に直接置き換えることだけです。つまり:

PDO::__construct($dsn, $user, $pass, array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET

NAMES'GBK';"));

レンダリング 2 は次のとおりです:
PHP_PHP チュートリアルの PDO での中国語文字化け問題を解決するための補足

2 番目: PDO::__construct($dsn, $user, $ pass);

PDO::exec("SET NAMES 'utf8';");

私の環境で 2 番目の方法もテストしました。表示効果は図 1 に示すとおりです。この状況が発生した場合は、utf8 を次のように置き換えます。 GBKと表示されます。なお、ここでの PDO:: は $pdo-> に置き換えて使用します。もちろんこれは変数であり、変数名は自分で定義できます。


3 番目の方法: $pdo->query('set names utf8;');
3 番目の方法については、上記の 2 つを読んだ後、utf8 を GBK に置き換える必要があることがわかるはずです。それは正しく表示されます。

これらすべてをテストしました。どちらにしても。ははは。また、ここで中国語の文字化けを解決する方法も紹介しますが、基本的には 3 番目の方法と同じですが、奇妙なのは、この方法はクエリではなく exec を使用することです。は次のとおりです:


$pdo->exec("SET CHARACTER SET GBK");


ははは。 4つの方法をすべて自分で試してみましたが、どうでしょうか。

http://www.bkjia.com/PHPjc/322408.html

www.bkjia.com

http://www.bkjia.com/PHPjc/322408.html技術記事私の環境はappsverパッケージです。中国語の文字化けを解決するためにインターネット上でよく出てくるコードは次のとおりです。最初のコード:PDO::__construct($dsn, $user, $pass, array (PDO::MYSQL_ATTR_INIT_COMMAND = "..
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。