ホームページ >バックエンド開発 >PHPチュートリアル >MySQLデータベースで漢字が切り捨てられる問題
たとえば、テキストボックスに「公園でデートだよ」または「通信大学に行きたい」と入力すると、データベースに書き込まれた最新の内容は「公園でデート」になります。または「通信大学に行きたいです。」データベースの正しいフィールドを確認しましたが、どちらも 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. 長さ
操作データセット名は最初に「XXXX」です
魔法のエンコーディング~! !
上記の方法で文字化け問題は解決できるはずですよ〜! ! ! !
魔法のコーディング~! !
上記の方法で文字化け問題は解決できるはずですよ〜! ! ! !
セット名「gb2312」 これよくやる〜! ! !しかし、言うのは面倒です。 。恒久的な解決策はありますか? ?
2階のvirus1992さんからの返信引用:マジカルエンコーディング〜! !
上記の方法で文字化け問題は解決できるはずですよ〜! ! ! !
セット名「gb2312」 これよくやる〜! ! !しかし、言うのは面倒です。 。恒久的な解決策はありますか? ?
データベースが作成されると、統一された文字セットに設定されます。ページは UTF-8、データベースのデフォルト フォントとデータ テーブル フィールドのフォントは両方とも UTF8、ページは GB2312、データベースは GBK に設定されています。
phpmyadmin を使用して同じデータをサーバーに挿入すると、データは切り捨てられますか?
はいの場合は、mysql のバージョンに問題があります
そうでない場合は、プログラムに問題があります
phpmyadmin を使用して同じデータをサーバーに挿入すると、データは切り捨てられますか?
そうなる場合は、mysql のバージョンに問題があります。
そうでない場合は、プログラムに問題があります。
1. 長さ
2. エンコーディング
フィールドの長さを適切に調整します
操作データ 最初の SET NAMES "XXXX";
phpmyadmin Directここでの切り捨ては、個々の漢字の外観を指します。切り捨てられます
まずエンコーディングの問題を解決しましょう~