Please upgrade here. These earlier versions are no longer being updated and have security issues.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Invalid String Value for User Activity

I've upgraded our forum at https://forum.rumahilmu.or.id to Vanilla 2.5 - everything work normally, new discussion posting also work perfectly

Except when I tried to write activity for my account or send comment for other user activity it was failed. Error message :

Incorrect string value: '\xB4\xF2\x9B

I've tried to change database collation from utf8_unicode_ci to utf8mb4_unicode_ci but nothing change

Please help

Regard,
Reza Ervani
Rumah Ilmu Indonesia

Comments

  • I found this problem occured from Table GDN_Log

    Any solution ?

    Regard,
    Reza Ervani
    Rumah Ilmu Indonesia

  • After try to change Collation for Column InsertIPAddress in Table GDN_Log, error message still appeared, but now it looked like the problem come from Table GDN_Activity Column InsertIPAddress

    I've tried to change Table Collation but nothing change

    Any suggestion ?

    Regard,
    Reza Ervani
    Rumah Ilmu Indonesia

  • edited January 2018

    [PARTIALLY SOLVED]

    After learn SQL command at /utility/structure I found problem is Column InsertIPAddress at GDN_Activity table still use varchar(15), after change it manually from phpmyadmin into varbinary(16), voila ... error message was gone

    I don't know why database structure not change after do scan and execute it from vanilla dashboard (/utility/structure), so I still think to try to check and change all column manually.

    Any better solution ?

    Regard,
    Reza Ervani
    Rumah Ilmu Indonesia

  • After execute one by one SQL Query from /utility/structure with phpmyadmin, there are still 3 SQL Query can not be executed :

    alter table GDN_AccessToken
    add DateExpires timestamp not null after InsertIPAddress,
    add Attributes text null after DateExpires,
    character set utf8mb4 collate utf8mb4_unicode_ci,
    convert to character set utf8mb4 collate utf8mb4_unicode_ci;

    update GDN_User User
    set Permissions = ''
    where Permissions <> '';

    insert GDN_UserMeta
    (UserID, Name, Value)
    values ('0', 'stubcontent.record.locale', 'en');

    1. SQL Error for alter table GDN_AccessToken looked like :

    1067 - Invalid default value for 'DateExpires'

    1. There is no error for update GDN_User User but it keep appeared after rescan at /utility/structure

    2. Error for insert GDN_UserMeta is :

    1062 - Duplicate entry '0-stubcontent.record.locale' for key 'PRIMARY'

    Any helps ?

    Thank you

    Regard,
    Reza Ervani
    Rumah Ilmu Indonesia

  • RiverRiver MVP
    edited January 2018

    @rezaervani said:
    After execute one by one SQL Query from /utility/structure with phpmyadmin, there are still 3 SQL Query can not be executed :

    alter table GDN_AccessToken
    add DateExpires timestamp not null after InsertIPAddress,
    add Attributes text null after DateExpires,
    character set utf8mb4 collate utf8mb4_unicode_ci,
    convert to character set utf8mb4 collate utf8mb4_unicode_ci;

    update GDN_User User
    set Permissions = ''
    where Permissions <> '';

    insert GDN_UserMeta
    (UserID, Name, Value)
    values ('0', 'stubcontent.record.locale', 'en');

    1. SQL Error for alter table GDN_AccessToken looked like :

      1067 - Invalid default value for 'DateExpires'

    2. There is no error for update GDN_User User but it keep appeared after rescan at /utility/structure

    3. Error for insert GDN_UserMeta is :

    1062 - Duplicate entry '0-stubcontent.record.locale' for key 'PRIMARY'

    Any helps ?

    >

    could be a strict mode problem. try turning it off

    https://open.vanillaforums.com/discussion/35688/invalid-default-value-for-dateexpires-vanilla-2-5

    Pragmatism is all I have to offer. Avoiding the sidelines and providing centerline pro-tips.

  • OK Thank you River

    After do :

    mysql> set global SQL_MODE="NO_ENGINE_SUBSTITUTION";
    

    and then execute that SQL Query again, first error was solved, Table GDN_AccessToken now is fully created

    Still error number 2 and 3 that is not solved yet

    Thank you Sir,

    Regard,
    Reza Ervani
    Rumah Ilmu Indonesia

  • RiverRiver MVP
    edited January 2018

    @rezaervani said:

    OK Thank you River

    After do :

    mysql> set global SQL_MODE="NO_ENGINE_SUBSTITUTION";
    

    and then execute that SQL Query again, first error was solved, Table GDN_AccessToken now is fully created

    Still error number 2 and 3 that is not solved yet

    Thank you Sir,

    Regard,
    Reza Ervani
    Rumah Ilmu Indonesia

    try backing up database first. keep users off.

    an experiment....

    3.Error for insert GDN_UserMeta is :

    1062 - Duplicate entry '0-stubcontent.record.locale' for key 'PRIMARY'

    use phpmyadmin - look for the row with field entry in UserMeta for '0-stubcontent.record.locale' and delete row.

    or disable stubcontent plugin by...

    try adding this to your conf/config.php

    $Configuration['EnabledPlugins']['stubcontent'] = false;

    it should override the value in config-default.php.

    After the above, delete cache.

    run utility structure again.

    confirming mode...

    https://serverpilot.io/community/articles/how-to-disable-strict-mode-in-mysql-5-7.html

    2.There is no error for update GDN_User User but it keep appeared after rescan at /utility/structure

    if there is no error - probably nothing to worry about.

    Pragmatism is all I have to offer. Avoiding the sidelines and providing centerline pro-tips.

Sign In or Register to comment.