You are viewing the PKP Support Forum | PKP Home Wiki

Error when entering metadata with accented characters

Are you an Editor, Author, or Journal Manager in need of help? Want to talk to us about workflow issues? This is your forum.

Moderators: jmacgreg, michael, vgabler, John

Forum rules
This forum is meant for general questions about the usability of OJS from an everyday user's perspective: journal managers, authors, and editors are welcome to post questions here, as are librarians and other support staff. We welcome general questions about the role of OJS and how the workflow works, as well as specific function- or user-related questions.

What to do if you have general, workflow or usability questions about OJS:

1. Read the documentation. We've written documentation to cover from OJS basics to system administration and code development, and we encourage you to read it.

2. take a look at the tutorials. We will continue to add tutorials covering OJS basics as time goes on.

3. Post a question. Questions are always welcome here, but if it's a technical question you should probably post to the OJS Technical Support subforum; if you have a development question, try the OJS Development subforum.

Error when entering metadata with accented characters

Postby StephenMiller » Tue Jun 13, 2006 7:51 am


I am entering as a Title in the Edit Metadata screen the following:

Linguistische Aspekte literarischer Übersetzung (am Material des Romans ‚Der Idiot‛ von F.M. Dostoevskij)

This returns me the error message:

DB Error: Data too long for column 'keyword_text' at row 1

I have figured out that the problems lies with the accented character: replacing the Ü with Ue solves the problem.

I notice that if you enter a single accented character on its own, there is no error messsage, doubling the character produces the error message as above.

Entering typographic quotes (as seen in the title above) causes no problems.

Does anyone have any idea what is going wrong?

Stephen Miller
Posts: 5
Joined: Tue Jun 13, 2006 5:49 am

Postby asmecher » Tue Jun 13, 2006 9:07 am

Hi Stephen,

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.

Alec Smecher
Open Journal Systems Team
Posts: 10015
Joined: Wed Aug 10, 2005 12:56 pm

Return to OJS Editorial Support and Discussion

Who is online

Users browsing this forum: No registered users and 2 guests