MySQLに格納される全角文字と半角文字の違いを詳しく解説

黄舟
リリース: 2017-05-28 09:55:22
オリジナル
3048 人が閲覧しました

この記事では主にMySQL全角文字と半角文字の保存の違いに関する関連情報を紹介します

残念ながら、IMの内部テスト中に再びMYSQL_DATA_TRUNCATEDエラーが発生しました。 、ログ レコードはまだ mysql_stmt_fetch にありました。呼び出されたときに表示されます。以前の経験を考慮すると、指定された結果セットのバインディング領域の長さが不十分であることが原因であるはずです。何度も確認しましたが、問題は見つかりませんでした。コード内に char(20) などの対応関係があります。コードでは、格納する char バッファ[20]配列を定義します。とても正しくて完璧に見えます。仕方なくデータの各行を印刷し、エラーが報告されたレコードの行を見つけたところ、フォントが他の行と異なることがわかりました。例:

123456789 (半角)
123456789 (全角)

これは私のスペースの入力ではなく、全角と半角の入力方法で制御されます。全角文字の場合、半角文字の 2 倍の長さになります。私の MySQL では utf-8 を使用しているため、データベース内では 3 バイトの長さの全角文字になります。

select length(column) from table_name where…;

これを使用して長さを印刷すると、長さを判断できます。このとき、コード内の型の長さと全角文字や漢字などのデータベースフィールドの長さを一致させる問題を考慮する必要があります。データベース内の Char(20) は、20 バイトではなく 20 文字を表します。データをフェッチするときは、20 文字すべてを結果セットの長として使用しないでください。

以上がMySQLに格納される全角文字と半角文字の違いを詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!