ホームページ  >  記事  >  バックエンド開発  >  皆さんもぜひ見に来てください!解決

皆さんもぜひ見に来てください!解決

WBOY
WBOYオリジナル
2016-06-13 13:40:36827ブラウズ

皆さんもぜひ見に来てください!
兄さん、この問題に遭遇しました。フロントデスクにクエリボックス(Phpで書かれており、エンコード形式はGBK)があり、バックグラウンドデータベースのエンコード形式がUTF-8になっています。入力ボックスが表示されましたが、背景に表示されているのは文字化けしているため、データを照会して前面に表示することができません。私が現在見つけた方法の 1 つは、JavaScript で encodeURI 関数を使用して入力された中国語の文字を 16 進数のシーケンスに変換し、その後、このシーケンスを中国語の文字に戻す PHP メソッドを見つけたいと考えています。やり方を教えてください!

-----解決策---------
1. URL エンコードに js を使用します。変換時に encodeURI の代わりに encodeURIComponent を使用します
この方法でのみ、gbk を utf-8 URL 文字列に変換できます
サーバーは utf-8 データを取得するために urldecode のみを必要とします

2 を使用するとします。 mysql データベース
なので、それほど複雑な処理は必要ありません。データベースを選択した後、SQL コマンド
set names gbk
を実行するだけで、mysql によってエンコーディングの変換作業が完了します。 。
------解決策---------
PHP 側で mb_convert_encoding() を使用して、エンコーディング gbk を utf-8 に変換します

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