aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/develop/create_schema_files.php20
-rw-r--r--phpBB/includes/db/db_tools.php20
-rw-r--r--phpBB/includes/db/oracle.php2
-rw-r--r--phpBB/includes/functions_install.php7
-rw-r--r--phpBB/install/database_update.php23
-rwxr-xr-xphpBB/language/en/install.php5
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.',