システム開発ブログ/ 流通システム部 Yahoo!ブックマークに登録 Google ブックマーク はてなブックマーク Livedoorクリップ シェア

システム開発ブログ

Twitterでilovex_officialをフォローしてください

最近の記事

カテゴリー

部署

月別アーカイブ

以前の部署別ブログ

【MySQL】ストアドで日本語をInsertした際に文字化けしてしまう問題の解決方法

赤羽
赤羽 (2010年3月18日 18:15)
流通システム部 / データベース

MySQLのストアドで、エラーメッセージをInsertした際に、
日本語が文字化けしてしまう現象に遭遇しました。
対象のテーブル、カラムの文字コードセットはutf8であり、
DBの文字コードセットは以下のような状態でした。

character_set_client : utf8
character_set_connection : utf8
character_set_database : utf8
character_set_filesystem : binary
character_set_results : utf8
character_set_server : utf8
character_set_system : utf8
character_sets_dir : C:\MySQL\share\charsets\

原因はストアドの文字コードセットがutf8ではなく、
s-jisだった事のようでした。
何故s-jisでコンパイルされてしまったのか、
それはコンパイルの仕方に問題があったためでした。

文字化けをしていた時のコンパイル方法は、
エディタに書いたストアドのコードをコンソールに、
コピー&ペーストして実行していました。
しかしこの方法では、コンソールで使われている文字コードセットで
ストアドがコンパイルされてしまうようです。
私はWindowsマシンのコマンドプロンプトで実行していたので、
s-jisのストアドが出来てしまっていたのです。

これを解決するためには以下の方法でコンパイルを行いました。

まず、ストアドのコードを文字コードセット「utf8」でテキストファイルに保存する。
次にコンソールに以下の通りに入力します。

 source [テキストファイルがある場所のフルパス];

例)source C:\stored\Create_pr_Insert_ErrorMessage.sql;

この方法でコンパイルする事で、
文字コードセットが保存されたテキストファイルの通りになり、
ストアドからテーブルへ日本語をInsertしても文字化けが発生しなくなります。

「システム開発ブログ」へのコメントやご意見等ありましたら、 ファンページまでお願いします。  Facebook のファンページ

お問い合せ・情報はこちらの電話番号におかけください:03-3232-2525 お問合せ・資料請求はこちらをクリックしてください
ページのトップ
システム開発・一括受託開発。見積依頼受付中

システム開発専用サイト

システム開発の流れ・手順、実績など。アイロベックスのシステム開発を紹介。

VB .NETを主言語としたWebアプリケーションの開発

要件分析から保守まで、お客様の現場での問題解決だけでなく、IT経営の援護者としてトータルソリューションサービスを提供しています。

MovableType を使ったウェブサイト構築

魅力あるウェブサイトデザイン、構成はもとよりMovableTypeを使用したウェブサイトの作成、JAVA、CGIによる注文フォームの作成等、ビジネスを強力にサポートします。

フォルダーアクセス権限確認ツール『AD-Folder』

Windowsフォルダーアクセス権限確認ツール

フォルダーアクセス権限を一目で確認。使用版を無償でご利用いただけます。

スクール運営を応援する講座情報管理システム『CMS+AD for School』

Webとリアルをつなぐコンテンツマネージメントシステム

Webサイト・モバイルサイト・チラシ(PDF)・カタログ(InDesign)を、簡単かつ正確に作成できます。

「システム開発ブログ」の更新情報をTwitterで。

Twitter公式アカウントに認定されています

「システム開発ブログ」の更新情報をTwitterで。ぜひ、フォローをお願いします。