OSDN Git Service

Refering to http://sourceforge.jp/projects/nucleus-jp/lists/archive/developers/2011...
[nucleus-jp/nucleus-jp-ancient.git] / utf8 / nucleus / libs / sql / mysql.php
index 69e3872..8ae98b7 100755 (executable)
@@ -355,28 +355,37 @@ if (function_exists('mysql_query') && !function_exists('sql_fetch_assoc'))
         * NOTE:        shift_jis is only supported for output. Using shift_jis in DB is prohibited.
         * NOTE:        iso-8859-x,windows-125x if _CHARSET is unset.
         */
-       function sql_set_charset_jp($charset) {
+       function sql_set_charset_jp($charset,$mode = NULL) {
                switch(strtolower($charset)){\r
-                       case 'utf-8':\r
+                       case 'utf-8':
+                       case 'utf8':\r
                                $charset = 'utf8';\r
                                break;\r
-                       case 'euc-jp':\r
+                       case 'euc-jp':
+                       case 'ujis':\r
                                $charset = 'ujis';\r
                                break;\r
                        case 'gb2312':\r
                                $charset = 'gb2312';\r
-                               break;\r
-                       case 'shift_jis':\r
+                               break;
+                       /*\r
+                       case 'shift_jis':
+                       case 'sjis':\r
                                $charset = 'sjis';\r
-                               break;\r
-                       default:\r
+                               break;
+                       */\r
+                       default:
+                               $charset = 'latin1';\r
                                break;\r
                }
                $mySqlVer = implode('.', array_map('intval', explode('.', sql_get_server_info())));
                if (version_compare($mySqlVer, '5.0.7', '>=') && function_exists('mysql_set_charset')) {
                        $res = mysql_set_charset($charset);
                } elseif (version_compare($mySqlVer, '4.1.0', '>=')) {
-                       $res = sql_query("SET CHARACTER SET " . $charset);
+                       $res = ($mode == 'NAMES')
+                               ?sql_query("SET NAMES " . $charset)
+                               :sql_query("SET CHARACTER SET " . $charset)
+                       ;
                }
                return $res;
        }