Browse code

Specify COLLATE=utf8mb4_unicode_ci in some tables. Also fix discrepancies between install.php and tables.sql.

Clarissa Walker authored on 2026/07/18 05:11:44
Showing 2 changed files
... ...
@@ -68,11 +68,11 @@ CREATE TABLE `fanfiction_authors` (
68 68
   `image` varchar(200) NOT NULL default '',
69 69
   `date`  int(10) unsigned NOT NULL default '0',
70 70
   `admincreated` int(11) NOT NULL default '0',
71
-  `password` varchar(40) NOT NULL default '0',
71
+  `password` varchar(255) NOT NULL default '0',
72 72
   PRIMARY KEY  (`uid`),
73 73
   KEY `penname` (`penname`),
74 74
   KEY `admincreated` (`admincreated`)
75
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
75
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
76 76
 
77 77
 -- --------------------------------------------------------
78 78
 
... ...
@@ -109,7 +109,7 @@ CREATE TABLE `fanfiction_categories` (
109 109
   `numitems` int(11) NOT NULL default '0',
110 110
   PRIMARY KEY  (`catid`),
111 111
   KEY `byparent` (`parentcatid`,`displayorder`)
112
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
112
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
113 113
 
114 114
 -- --------------------------------------------------------
115 115
 
... ...
@@ -420,7 +420,7 @@ CREATE TABLE `fanfiction_series` (
420 420
   PRIMARY KEY  (`seriesid`),
421 421
   KEY `catid` (`catid`),
422 422
   KEY `owner` (`uid`,`title`)
423
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
423
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
424 424
 
425 425
 -- --------------------------------------------------------
426 426
 -- 
... ...
@@ -480,7 +480,7 @@ CREATE TABLE `fanfiction_stories` (
480 480
   KEY `challenges` (`challenges`),
481 481
   KEY `validateduid` (`validated`,`uid`),
482 482
   KEY `recent` (`updated`,`validated`)
483
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
483
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
484 484
 
485 485
 -- --------------------------------------------------------
486 486
 
... ...
@@ -535,7 +535,7 @@ CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_authorprefs` (
535 535
   PRIMARY KEY  (`uid`),
536 536
   KEY `penname` (`penname`),
537 537
   KEY `admincreated` (`admincreated`)
538
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");
538
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");
539 539
 				$output .= "<tr><td>" . $tableprefix . "fanfiction_authors</td><td align='center'>" . ($authors ? "<img src=\"../images/check.gif\">" : "<img src=\"../images/X.gif\">") . "</td></tr>";
540 540
 				$blocks = dbquery("CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_blocks` (
541 541
   `block_id` int(11) NOT NULL auto_increment,
... ...
@@ -546,7 +546,7 @@ CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_authorprefs` (
546 546
   `block_variables` text NOT NULL,
547 547
   PRIMARY KEY  (`block_id`),
548 548
   KEY `block_name` (`block_name`)
549
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");
549
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin");
550 550
 				$output .= "<tr><td>" . $tableprefix . "fanfiction_blocks</td><td align='center'>" . ($blocks ? "<img src=\"../images/check.gif\">" : "<img src=\"../images/X.gif\">") . "</td></tr>";
551 551
 				$categories = dbquery("CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_categories` (
552 552
   `catid` int(11) NOT NULL auto_increment,
... ...
@@ -560,7 +560,7 @@ CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_authorprefs` (
560 560
   `numitems` int(11) NOT NULL default '0',
561 561
   PRIMARY KEY  (`catid`),
562 562
   KEY `byparent` (`parentcatid`,`displayorder`)
563
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");
563
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");
564 564
 				$output .= "<tr><td>" . $tableprefix . "fanfiction_categories</td><td align='center'>" . ($categories ? "<img src=\"../images/check.gif\">" : "<img src=\"../images/X.gif\">") . "</td></tr>";
565 565
 				$chapters = dbquery("CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_chapters` (
566 566
   `chapid` int(11) NOT NULL auto_increment,
... ...
@@ -766,7 +766,7 @@ CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_modules` (
766 766
   KEY `characters` (`characters`),
767 767
   KEY `classes` (`classes`),
768 768
   KEY `owner` (`uid`,`title`)
769
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");
769
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");
770 770
 				$output .= "<tr><td>" . $tableprefix . "fanfiction_series</td><td align='center'>" . ($series ? "<img src=\"../images/check.gif\">" : "<img src=\"../images/X.gif\">") . "</td></tr>";
771 771
 				$stats = dbquery("CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_stats` (
772 772
   `sitekey` varchar(50) NOT NULL default '0',
... ...
@@ -779,7 +779,7 @@ CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_modules` (
779 779
   `members` int(11) NOT NULL default '0',
780 780
   `reviewers` int(11) NOT NULL default '0',
781 781
   `newestmember` int(11) NOT NULL default '0'
782
-) ENGINE=InnoDB");
782
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin");
783 783
 				dbquery("INSERT INTO " . $tableprefix . "fanfiction_stats(`sitekey`, `newestmember`) VALUES('" . SITEKEY . "', '1')");
784 784
 				$output .= "<tr><td>" . $tableprefix . "fanfiction_stats</td><td align='center'>" . ($stats ? "<img src=\"../images/check.gif\">" : "<img src=\"../images/X.gif\">") . "</td></tr>";
785 785
 				$stories = dbquery("CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_stories` (
... ...
@@ -814,7 +814,7 @@ CREATE TABLE IF NOT EXISTS `" . $tableprefix . "fanfiction_modules` (
814 814
   KEY `rr` (`rr`),
815 815
   KEY `validateduid` (`validated`,`uid`),
816 816
   KEY `recent` (`updated`,`validated`)
817
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;");
817
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");
818 818
 				$output .= "<tr><td>" . $tableprefix . "fanfiction_stories</td><td align='center'>" . ($stories ? "<img src=\"../images/check.gif\">" : "<img src=\"../images/X.gif\">") . "</td></tr>";
819 819
 				$output .= "</table>";
820 820
 				$output .= write_message(_TABLEFAILED . "<br /><br /><a href='install.php?step=4'>" . _CONTINUE . "</a>");