diff options
-rw-r--r-- | phpBB/develop/create_schema_files.php | 20 | ||||
-rw-r--r-- | phpBB/includes/db/db_tools.php | 20 | ||||
-rw-r--r-- | phpBB/includes/db/oracle.php | 2 | ||||
-rw-r--r-- | phpBB/includes/functions_install.php | 7 | ||||
-rw-r--r-- | phpBB/install/database_update.php | 23 | ||||
-rwxr-xr-x | phpBB/language/en/install.php | 5 |
6 files changed, 43 insertions, 34 deletions
diff --git a/phpBB/develop/create_schema_files.php b/phpBB/develop/create_schema_files.php index 6638eb4dbc..58057df300 100644 --- a/phpBB/develop/create_schema_files.php +++ b/phpBB/develop/create_schema_files.php @@ -150,15 +150,15 @@ $dbms_type_map = array( 'TINT:' => 'number(%d)', 'USINT' => 'number(4)', 'BOOL' => 'number(1)', - 'VCHAR' => 'varchar2(255)', - 'VCHAR:' => 'varchar2(%d)', - 'CHAR:' => 'char(%d)', - 'XSTEXT' => 'varchar2(1000)', - 'STEXT' => 'varchar2(3000)', + 'VCHAR' => 'varchar2(255 char)', + 'VCHAR:' => 'varchar2(%d char)', + 'CHAR:' => 'char(%d char)', + 'XSTEXT' => 'varchar2(1000 char)', + 'STEXT' => 'varchar2(3000 char)', 'TEXT' => 'clob', 'MTEXT' => 'clob', - 'XSTEXT_UNI'=> 'varchar2(300)', - 'STEXT_UNI' => 'varchar2(765)', + 'XSTEXT_UNI'=> 'varchar2(100 char)', + 'STEXT_UNI' => 'varchar2(255 char)', 'TEXT_UNI' => 'clob', 'MTEXT_UNI' => 'clob', 'TIMESTAMP' => 'number(11)', @@ -166,9 +166,9 @@ $dbms_type_map = array( 'DECIMAL:' => 'number(%d, 2)', 'PDECIMAL' => 'number(6, 3)', 'PDECIMAL:' => 'number(%d, 3)', - 'VCHAR_UNI' => 'varchar2(765)', - 'VCHAR_UNI:'=> array('varchar2(%d)', 'limit' => array('mult', 3, 765, 'clob')), - 'VCHAR_CI' => 'varchar2(255)', + 'VCHAR_UNI' => 'varchar2(255 char)', + 'VCHAR_UNI:'=> 'varchar2(%d char)', + 'VCHAR_CI' => 'varchar2(255 char)', 'VARBINARY' => 'raw(255)', ), diff --git a/phpBB/includes/db/db_tools.php b/phpBB/includes/db/db_tools.php index 5786b40abe..cbf9b3f269 100644 --- a/phpBB/includes/db/db_tools.php +++ b/phpBB/includes/db/db_tools.php @@ -129,15 +129,15 @@ class phpbb_db_tools 'TINT:' => 'number(%d)', 'USINT' => 'number(4)', 'BOOL' => 'number(1)', - 'VCHAR' => 'varchar2(255)', - 'VCHAR:' => 'varchar2(%d)', - 'CHAR:' => 'char(%d)', - 'XSTEXT' => 'varchar2(1000)', - 'STEXT' => 'varchar2(3000)', + 'VCHAR' => 'varchar2(255 char)', + 'VCHAR:' => 'varchar2(%d char)', + 'CHAR:' => 'char(%d char)', + 'XSTEXT' => 'varchar2(1000 char)', + 'STEXT' => 'varchar2(3000 char)', 'TEXT' => 'clob', 'MTEXT' => 'clob', - 'XSTEXT_UNI'=> 'varchar2(300)', - 'STEXT_UNI' => 'varchar2(765)', + 'XSTEXT_UNI'=> 'varchar2(100 char)', + 'STEXT_UNI' => 'varchar2(255 char)', 'TEXT_UNI' => 'clob', 'MTEXT_UNI' => 'clob', 'TIMESTAMP' => 'number(11)', @@ -145,9 +145,9 @@ class phpbb_db_tools 'DECIMAL:' => 'number(%d, 2)', 'PDECIMAL' => 'number(6, 3)', 'PDECIMAL:' => 'number(%d, 3)', - 'VCHAR_UNI' => 'varchar2(765)', - 'VCHAR_UNI:'=> array('varchar2(%d)', 'limit' => array('mult', 3, 765, 'clob')), - 'VCHAR_CI' => 'varchar2(255)', + 'VCHAR_UNI' => 'varchar2(255 char)', + 'VCHAR_UNI:'=> 'varchar2(%d char)', + 'VCHAR_CI' => 'varchar2(255 char)', 'VARBINARY' => 'raw(255)', ), diff --git a/phpBB/includes/db/oracle.php b/phpBB/includes/db/oracle.php index 95bdfe4174..36c80cf01c 100644 --- a/phpBB/includes/db/oracle.php +++ b/phpBB/includes/db/oracle.php @@ -50,7 +50,7 @@ class dbal_oracle extends dbal $connect = $sqlserver . (($port) ? ':' . $port : '') . '/' . $database; } - $this->db_connect_id = ($new_link) ? @oci_new_connect($this->user, $sqlpassword, $connect, 'UTF8') : (($this->persistency) ? @oci_pconnect($this->user, $sqlpassword, $connect, 'UTF8') : @oci_connect($this->user, $sqlpassword, $connect, 'UTF8')); + $this->db_connect_id = ($new_link) ? @oci_new_connect($this->user, $sqlpassword, $connect, 'AL32UTF8') : (($this->persistency) ? @oci_pconnect($this->user, $sqlpassword, $connect, 'AL32UTF8') : @oci_connect($this->user, $sqlpassword, $connect, 'AL32UTF8')); return ($this->db_connect_id) ? $this->db_connect_id : $this->sql_error(''); } diff --git a/phpBB/includes/functions_install.php b/phpBB/includes/functions_install.php index 31085344f8..cdd62b6d9e 100644 --- a/phpBB/includes/functions_install.php +++ b/phpBB/includes/functions_install.php @@ -492,10 +492,15 @@ function connect_check_db($error_connect, &$error, $dbms_details, $table_prefix, } $db->sql_freeresult($result); - if (version_compare($stats['NLS_RDBMS_VERSION'], '9.2', '<') && $stats['NLS_CHARACTERSET'] !== 'UTF8') + if (version_compare($stats['NLS_RDBMS_VERSION'], '9.2', '<')) { $error[] = $lang['INST_ERR_DB_NO_ORACLE']; } + + if ($stats['NLS_CHARACTERSET'] !== 'AL32UTF8') + { + $error[] = $lang['INST_ERR_DB_NO_ORACLE_NLS']; + } } break; diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 1ead7b1a32..0fa308ceab 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -231,22 +231,25 @@ $dbms_type_map = array( 'TINT:' => 'number(%d)', 'USINT' => 'number(4)', 'BOOL' => 'number(1)', - 'VCHAR' => 'varchar2(255)', - 'VCHAR:' => 'varchar2(%d)', - 'CHAR:' => 'char(%d)', - 'XSTEXT' => 'varchar2(1000)', - 'STEXT' => 'varchar2(3000)', + 'VCHAR' => 'varchar2(255 char)', + 'VCHAR:' => 'varchar2(%d char)', + 'CHAR:' => 'char(%d char)', + 'XSTEXT' => 'varchar2(1000 char)', + 'STEXT' => 'varchar2(3000 char)', 'TEXT' => 'clob', 'MTEXT' => 'clob', - 'XSTEXT_UNI'=> 'varchar2(300)', - 'STEXT_UNI' => 'varchar2(765)', + 'XSTEXT_UNI'=> 'varchar2(100 char)', + 'STEXT_UNI' => 'varchar2(255 char)', 'TEXT_UNI' => 'clob', 'MTEXT_UNI' => 'clob', 'TIMESTAMP' => 'number(11)', 'DECIMAL' => 'number(5, 2)', - 'VCHAR_UNI' => 'varchar2(765)', - 'VCHAR_UNI:'=> array('varchar2(%d)', 'limit' => array('mult', 3, 765, 'clob')), - 'VCHAR_CI' => 'varchar2(255)', + 'DECIMAL:' => 'number(%d, 2)', + 'PDECIMAL' => 'number(6, 3)', + 'PDECIMAL:' => 'number(%d, 3)', + 'VCHAR_UNI' => 'varchar2(255 char)', + 'VCHAR_UNI:'=> 'varchar2(%d char)', + 'VCHAR_CI' => 'varchar2(255 char)', 'VARBINARY' => 'raw(255)', ), diff --git a/phpBB/language/en/install.php b/phpBB/language/en/install.php index 4a1f1add75..3f3eb7165b 100755 --- a/phpBB/language/en/install.php +++ b/phpBB/language/en/install.php @@ -231,9 +231,10 @@ $lang = array_merge($lang, array( 'INST_ERR_DB_FORUM_PATH' => 'The database file specified is within your board directory tree. You should put this file in a non web-accessible location.', 'INST_ERR_DB_NO_ERROR' => 'No error message given.', 'INST_ERR_DB_NO_MYSQL' => 'The version of MySQL installed on the target server must be at least 4.1, phpBB 3.1 cannot be installed on an older version.', - 'INST_ERR_DB_NO_MYSQLI' => 'The version of MySQL installed on this machine is incompatible with the “MySQL with MySQLi Extension” option you have selected. Please try the “MySQL” option instead.', + 'INST_ERR_DB_NO_MYSQLI' => 'The version of MySQL installed on the target server must be at least 4.1, phpBB 3.1 cannot be installed on an older version.', 'INST_ERR_DB_NO_SQLITE' => 'The version of the SQLite extension you have installed is too old, it must be upgraded to at least 2.8.2.', - 'INST_ERR_DB_NO_ORACLE' => 'The version of Oracle installed on this machine requires you to set the <var>NLS_CHARACTERSET</var> parameter to <var>UTF8</var>. Either upgrade your installation to 9.2+ or change the parameter.', + 'INST_ERR_DB_NO_ORACLE' => 'The version of Oracle installed on the target server must be at least 9.2, phpBB 3.1 cannot be installed on an older version.', + 'INST_ERR_DB_NO_ORACLE_NLS' => 'You must configure Oracle so that the <var>NLS_CHARACTERSET</var> parameter is set to <var>ALU32UTF8</var>.', 'INST_ERR_DB_NO_FIREBIRD' => 'The version of Firebird installed on this machine is older than 2.0, please upgrade to a newer version.', 'INST_ERR_DB_NO_FIREBIRD_PS'=> 'The database you selected for Firebird has a page size less than 8192, it must be at least 8192.', 'INST_ERR_DB_NO_POSTGRES' => 'The database you have selected was not created in <var>UNICODE</var> or <var>UTF8</var> encoding. Try installing with a database in <var>UNICODE</var> or <var>UTF8</var> encoding.', |