※ ChatGPTを利用し、要約された質問です(原文:Unicodeについて)
SQLServerでのUnicodeの扱いについて
このQ&Aのポイント
SQLServerでUTF-8で文字のやり取りを行う方法について教えてください。
UTF-8でSQLServerにデータを登録する際に2バイト文字が化ける問題について解決策を教えてください。
SQLServerでの文字化けせずにソースとデータベースをUTF-8で扱う方法を教えてください。
お世話になっております。
papillon68と申します。
[バージョン]
SQLServer2005 (Management Studio Express 9.00.2047.00)
早速ではありますが、今回ご教授頂きたいことはSQLSERVERでのUnicodeの扱いについてです。
PHPとAjaxとSQLServerの連携を行っています。
ソース(PHPとAjax)はUTF-8で書いています。
ここで、SQLServerへのやりとりもUTF-8で行いたいのですが、どのようにしたらよいでしょうか。
文字列を扱う列の型は「nchar、nvarchar、ntext」などを使っています。
UTF-8でSQLServerに登録すると2バイト文字(ひらがな、漢字など)が
入力したとおりに保存されます。
ですが、SQLServerからデータをSELECT文で抜き出したときに
2バイト文字が化けてしまっています。
どのようにすれば文字化けせずにソースもSQLServerもUTF8で行うことができるのでしょうか。
お手数をお掛け致しますが、ご教授よろしくお願い致します。
お礼
s_husky様、お世話になっております。 無事解決することができましたことをご報告致します。 方法は以下のとおりです。 ありがとうございました。 ------------------------------------------------------------- 【SQL SERVER】 文字列の型を「nchar、nvarchar、ntext」などにしました。 【PHP】 文字コードの変換関数(mb_convert_encoding)により SJIS⇔UTF-8の変換を行いました。 SQL SERVERへ格納するときは「UTF-8→SJIS」とし、 SQL SERVERから取得するときには「SJIS→UTF-8」としました。 -------------------------------------------------------------
補足
s_husky様、 貴重なお時間を頂きご回答下さり、ありがとうございます。 さっそく教えて頂いたページを参考にしたいと思います。 後ほど結果を報告させて頂こうと思います。 よろしくお願い致します。