ホームページ >バックエンド開発 >PHPチュートリアル >MySQLデータベースで漢字が切り捨てられる問題

MySQLデータベースで漢字が切り捨てられる問題

WBOY
WBOYオリジナル
2016-06-23 14:02:40992ブラウズ

たとえば、テキストボックスに「公園でデートだよ」または「通信大学に行きたい」と入力すると、データベースに書き込まれた最新の内容は「公園でデート」になります。または「通信大学に行きたいです。」データベースの正しいフィールドを確認しましたが、どちらも utf8_general_ci です。



追加の説明: タイトルにコンテンツを入力すると、切り詰められることなくデータベースに完全に保存できます

環境テストではこの問題が発生しないことを前提として、ローカルで APMServ5.2.6 を使用しています。環境
PHP バージョン: 5.2.6
MySQL バージョン: 5.1.28-rc-community
オペレーティング システム Windows NT R780 6.1 ビルド 7600


サーバー環境:
切り捨て問題が発生 PHP バージョン: 5.3.6 MySQL バージョン: 5.0 .96-log O オペレーティング システム Windows NT P3NW8SH241 6.0 Build 6002 (Windows Server 2008 Standard Edition Service Pack 2) I586
補足:

テスト後、本文フィールドを GB2312_CHINESE_CI または GBK に変更します。インターセプトの問題が発生します。フロントデスクが表示されますが、「??メディア??理解しています」と表示されます。助けてください


ディスカッションへの返信(解決策)

1. 長さ
2. エンコーディング

フィールドの長さを適切に調整してください


操作データセット名は最初に「XXXX」です

魔法のエンコーディング~! !

上記の方法で文字化け問題は解決できるはずですよ〜! ! ! !

魔法のコーディング~! !

上記の方法で文字化け問題は解決できるはずですよ〜! ! ! !


セット名「gb2312」 これよくやる〜! ! !しかし、言うのは面倒です。 。恒久的な解決策はありますか? ?

2階のvirus1992さんからの返信引用:マジカルエンコーディング〜! !

上記の方法で文字化け問題は解決できるはずですよ〜! ! ! !


セット名「gb2312」 これよくやる〜! ! !しかし、言うのは面倒です。 。恒久的な解決策はありますか? ?
データベースが作成されると、統一された文字セットに設定されます。ページは UTF-8、データベースのデフォルト フォントとデータ テーブル フィールドのフォントは両方とも UTF8、ページは GB2312、データベースは GBK に設定されています。

phpmyadmin を使用して同じデータをサーバーに挿入すると、データは切り捨てられますか?
はいの場合は、mysql のバージョンに問題があります
そうでない場合は、プログラムに問題があります

phpmyadmin を使用して同じデータをサーバーに挿入すると、データは切り捨てられますか?
そうなる場合は、mysql のバージョンに問題があります。
そうでない場合は、プログラムに問題があります。

phpmyadmin の挿入は切り詰められません。ローカル テストでは問題はありませんが、問題が発生します。サーバー上にあるので、プログラムの問題だと思います。 まだ見つかりません


1. 長さ
2. エンコーディング

フィールドの長さを適切に調整します

操作データ 最初の SET NAMES "XXXX";

phpmyadmin Directここでの切り捨ては、個々の漢字の外観を指します。切り捨てられます

まずエンコーディングの問題を解決しましょう~

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。