Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Try Vanilla Forums Cloud product

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 18

    [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 18

    @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 19

    @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.