Chances are you're not using database connection character set support; this can be configured in OJS's config.inc.php using the "connection_charset" and "database_charset" directives and must be supported by your database.
When these features are disabled, you can run into the error you describe because:
- According to OJS, the string length of a string containing accents is simply the number of characters, because PHP supports UTF8 natively
- However, according to the database, the number of characters required to store that string can be up to twice as many, since the database does not natively handle UTF8 characters.
- Therefore, if a field's maximum length according to PHP is the same as the maximum length according to the DBMS, you won't be able to store longer or heavily-accented strings that use UTF-8 characters in the DBMS.
Full UTF-8 support requires MySQL >= 4.1.1 or PostgreSQL >= 7.1.
Open Journal Systems Team