We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
  • What host are you with - maybe someone with similiar host can try to see if they can replicate this issue?
      Billy Koch
      Follow me on Twitter: @DefKoch
      Skype: billyk0ch
      • 3749
      • 24,544 Posts
      It sounds like a misconfiguration such that Revo is failing to get the character set of the DB.

      Try creating the DB manually in PhpMyAdmin (being sure to set the character set to UTF-8) and rerunning Setup.
        Did I help you? Buy me a beer
        Get my Book: MODX:The Official Guide
        MODX info for everyone: http://bobsguides.com/modx.html
        My MODX Extras
        Bob's Guides is now hosted at A2 MODX Hosting
        • 24041
        • 7 Posts
        OK, I’m going to have someone check out my server config and see if anything’s up. In the meantime though, and sorry to sound like a stuck record, but why would 2.0.8 install ok? I have a couple of instances of 2.0.8 running on the exact same server but under different virtual hosts, installed as new installations (not upgrades) both before and after I’ve attempted to install 2.1.

        • It sounds like your MySQL client configuration is not returning data (or is encountering an error) when attempting to get the character set/collation data from the MySQL server instance. I wonder if this is a permissions issue with the database user? The following MySQL commands are used to query this data:

          SHOW CHARSET;
          SHOW COLLATION;
          SHOW SESSION VARIABLES LIKE 'collation_database';


          It shouldn’t really be any different between 2.0.8 and 2.1 as far as this test goes, but there were changes in setup, so it’s possible certain environments could have been made to fail in 2.1 setup as a result. Let us know if you can determine any additional information about the problem.
            • 10169
            • 24 Posts
            I tried the mysql root account before just to see if it was a permissions issue, but it made no difference

            Unfortunately, I cannot go back and recreate the original scenario... both servers have become production 2.0.8 environments. I hope to build a new server and try this again when I get some time between projects.

            Thanks Bob and Jason!
              • 24041
              • 7 Posts
              I’ve just been into Php MyAdmin and noticed this message:

              "Your PHP MySQL library version 5.0.90 differs from your MySQL server version 5.1.56. This may cause unpredictable behavior."

              @fretless, could you have a look and see if you’ve got anything similar? I’m wondering if this might be the root of the issue.
                • 26903
                • 1,336 Posts
                Bump this, exactly the same error for 2.1.0-pl both traditional and git checkout, this is on my main linux test box. I’ve edited the XPDO class error line to dump the DSN, error looks like this :-

                [2011-05-25 22:18:28] (ERROR in xPDO::connect @ /var/www/html/local/revolution/2.1/revolution/core/xpdo/xpdo.class.php : 345) SQLSTATE[HY000] [2019] Can’t initialize character set (path: /usr/share/mysql/charsets/) DSN is mysql:host=localhost;dbname=revolution21;charset=

                No charset parameter is set for some reason, I’ll try and trace this back when I get time.
                  Use MODx, or the cat gets it!
                  • 33657
                  • 128 Posts
                  Fresh install of 2.1 fails trying to connect to a database.. works fine in 2.0.8


                  Connecting to database server:
                  Could not connect to the database server. Check the connection properties and try again.

                  [2011-05-26 00:48:28] (ERROR in xPDO::connect @ /home/myaccount/public_html/twopointone/core/xpdo/xpdo.class.php : 344) SQLSTATE[HY000] [2019] Can’t initialize character set (path: /usr/share/mysql/charsets/)

                  [2011-05-26 00:48:28] (ERROR in xPDO::connect @ /home/myaccount/public_html/twopointone/core/xpdo/xpdo.class.php : 344) SQLSTATE[HY000] [2019] Can’t initialize character set (path: /usr/share/mysql/charsets/)
                  • For some reason, you are not getting a valid charset in the DSN, which in the latest releases of PHP (5.3.6+) causes an error with the MySQL PDO driver. Not sure why your charset is not being set however. Make sure you don’t have any cached JS from the 2.0.x setup. Otherwise, any additional information on why this value is blank when you run a fresh install would be helpful. Others have also reported this problem, but so far, we have not been able to reproduce the problem...
                    • Could it be possible that some servers’ version of usr/share/mysql/charsets (or wherever the mysql charsets file is being stored on a given server) doesn’t support the character set that is being used, or perhaps not in that form (UTF-8 vs utf8, for example)? Or maybe the files’ permissions are incompatible?

                      On my MAMP installation it’s /Applications/MAMP/Library/Share/mysql/charsets, which folder contains a bunch of xml files. The index.xml file has this entry
                      <charset name="utf8">
                        <family>Unicode</family>
                        <description>UTF-8 Unicode</description>
                        <alias>utf-8</alias>
                        <collation name="utf8_general_ci"	id="33">
                         <flag>primary</flag>
                         <flag>compiled</flag>
                        </collation>
                        <collation name="utf8_bin"		id="83">
                          <flag>binary</flag>
                          <flag>compiled</flag>
                        </collation>
                      </charset>
                      
                        Studying MODX in the desert - http://sottwell.com
                        Tips and Tricks from the MODX Forums and Slack Channels - http://modxcookbook.com
                        Join the Slack Community - http://modx.org