authority-destination tired
tired
tired
tired

投稿者 スレッド: MySQL4.x以降のサーバーにSMFを設置した時のの文字化けの対策方法  (参照数 4389 回)

0 メンバーさんと、1 ゲストさんが、このスレッドを見ています。

オフライン Logue

  • 管理人
  • 古参メンバー
  • *****
  • 投稿: 595
  • 性別: 男性
    • Epilogue/LogueWiki
XreaやCoreServerなどのMySQL5.xのサーバーでSMFを設置すると日本語を含むUTF-8の文字がすべて???になります。
これは、MySQL4.1以降での文字コードの仕様変更に原因があります。これを解決するには、SQLにPHPから接続する前の段階で、文字コードセットを明示的に宣言する必要があります。

SMFでは、Sources/Sub.phpの320行目付近の
コード: [Select]
$ret = mysql_query($db_string, $db_connection);の前の行に
コード: [Select]
mysql_query("SET CHARACTER SET utf8", $db_connection);を追加してください。

参考:http://www.mysql.gr.jp/frame/modules/bwiki?FAQ
« 最終編集: 2008年10月31日 21時13分53秒 by Logue »
Logue◆grDYeooZwg a.k.a. 高山 ローグ

オフライン Logue

  • 管理人
  • 古参メンバー
  • *****
  • 投稿: 595
  • 性別: 男性
    • Epilogue/LogueWiki
SMF2.0 Beta 4の場合の対処方法
« Reply #1 投稿日:: 2008年10月31日 21時15分58秒 »
SMF2.0 Beta 4では、データーベース関連の処理がデーターベースの種類に応じて別のファイルに変更になっています。

修正ポイントは、Subs-Db-mysql.phpの355行目に
コード: [Select]
@mysql_query("SET CHARACTER SET utf8", $connection);を追記してください。
Logue◆grDYeooZwg a.k.a. 高山 ローグ

lifeindex

  • ゲスト
Re:MySQL4.x以降のサーバーにSMFを設置した時のの文字化けの対策方法
« Reply #2 投稿日:: 2009年12月03日 18時02分00秒 »
追加したのですが、Parse error: syntax error, unexpected T_STRING, expecting ')' in (´◉◞౪◟◉`)/powerlin/public_html/smforum/Sources/Subs.php on line 3516

のエラーが出ます


XreaやCoreServerなどのMySQL5.xのサーバーでSMFを設置すると日本語を含むUTF-8の文字がすべて???になります。
これは、MySQL4.1以降での文字コードの仕様変更に原因があります。これを解決するには、SQLにPHPから接続する前の段階で、文字コードセットを明示的に宣言する必要があります。

SMFでは、Sources/Sub.phpの320行目付近の
コード: [Select]
$ret = mysql_query($db_string, $db_connection);の前の行に
コード: [Select]
mysql_query("SET CHARACTER SET utf8", $db_connection);を追加してください。

参考:http://www.mysql.gr.jp/frame/modules/bwiki?FAQ