Almost all links are hashed: ##navigation.submissions## [solved]

Try removing all the fc-locale-*.php files from the cache directory, then reloading the page, then checking the error log.

It might also be interesting to see the contents of one of the fc-locale-*.php files. You can paste it between two sets of three backticks to make it readable in this forum:

```
<xml here/>
```
1 Like

All the fc-locale-*.php files contain:

<?php return array (
); ?>

I removed then all these files, and I reload the page, with debug on:
And I got hundreds of warnings relating to xml_parser
Warning: xml_parser_create(): unsupported source encoding “utf8” in /var/www/website/lib/pkp/classes/xml/XMLParser.inc.php on line 271

Seeing the utf8, I looked in config.inc.php, and I observed in Localization that my
client_charset = utf8
I changed it to utf-8

the others I didn’t modify
connection_charset = utf8
database_charset = utf8
charset_normalization = On

when I erased the cache from fc-locale files and reload the page I got:
Warning: Cannot use a scalar value as an array in /var/www/website/lib/pkp/classes/core/DataObject.inc.php on line 133
Warning: Declaration of PKPUsageEventPlugin::getEnabled() should be compatible with LazyLoadPlugin::getEnabled($contextId = NULL) in /var/www/website/lib/pkp/plugins/generic/usageEvent/PKPUsageEventPlugin.inc.php on line 0
Warning: Declaration of CustomHeaderPlugin::register($category, $path) should be compatible with LazyLoadPlugin::register($category, $path, $mainContextId = NULL) in /var/www/website/plugins/generic/customHeader/CustomHeaderPlugin.inc.php on line 0
Notice: Undefined index: en_US in /var/www/website/lib/pkp/classes/context/Context.inc.php on line 273
Warning: Cannot use a scalar value as an array in /var/www/website/lib/pkp/classes/core/DataObject.inc.php on line 133
Warning: Declaration of CustomBlockPlugin::getBlockContext() should be compatible with BlockPlugin::getBlockContext($contextId = NULL) in /var/www/website/plugins/generic/customBlockManager/CustomBlockPlugin.inc.php on line 0
Warning: Declaration of CustomBlockPlugin::getEnabled() should be compatible with BlockPlugin::getEnabled($contextId = NULL) in /var/www/website/plugins/generic/customBlockManager/CustomBlockPlugin.inc.php on line 0
Notice: Only variables should be passed by reference in /var/www/website/plugins/generic/customBlockManager/CustomBlockManagerPlugin.inc.php on line 65
Notice: Only variables should be passed by reference in /var/www/website/plugins/generic/customBlockManager/CustomBlockManagerPlugin.inc.php on line 65
Notice: Only variables should be passed by reference in /var/www/website/plugins/generic/customBlockManager/CustomBlockManagerPlugin.inc.php on line 65
Notice: Only variables should be passed by reference in /var/www/website/plugins/generic/customBlockManager/CustomBlockManagerPlugin.inc.php on line 65

Is it possible that the charset connection, database, normalization could interfere somehow? (I don t think so)

Your correction to client_charset in config.inc.php is appropriate and would explain the error:

Warning: xml_parser_create(): unsupported source encoding “utf8” in /var/www/website/lib/pkp/classes/xml/XMLParser.inc.php on line 271

This error could also explain why the fc-locale-*.php files were empty, as the source locale files are stored as XML.

The other warnings don’t seem particularly helpful.

Do the fc-locale-*.php files now have contents within the array()? They should looks like:

<?php return array (
  'plugins.paymethod.manual.displayName' => 'Manual Fee Payment',
  'plugins.paymethod.manual.description' => 'The manager will manually record receipt of a user\'s payment (outside of this software).',
  'plugins.paymethod.manual' => 'Manual Fee Payment',
  'plugins.paymethod.manual.settings' => 'Manual Payment Instructions',
  'plugins.paymethod.manual.sendNotificationOfPayment' => 'Send notification of payment',
  'plugins.paymethod.manual.paymentNotification' => 'Payment Notification',
  'plugins.paymethod.manual.notificationSent' => 'Payment notification sent',
  'plugins.paymethod.manual.purchase.title' => 'Title',
  'plugins.paymethod.manual.purchase.fee' => 'Fee',
); ?>
1 Like

Thank you so much, indeed this solved the problem! :slight_smile: :slight_smile:

Indeed the utf-8 thing was the issue.

now the fc-locale-*.php files are ok:

<?php return array ( 'plugins.generic.usageEvent.displayName' => 'Usage event', 'plugins.generic.usageEvent.description' => 'Creates a hook that provides usage event in a defined format.', ); ?>

Do you think I have to modify these settings too or let them as they were?
connection_charset = utf8
database_charset = utf8
charset_normalization = On

If this is a new install, the default values for these are “off”:

On the other hand, utf8 is a best-practice setting.

If this is an upgrade from an old install, the values should be left as-is from the original config.inc.php.

The charset_normalization directive will be removed in the next version of OJS. I don’t think it is doing anything with your current configuration.

@ctgraham - Thank you so so much!!!

You made my day! :slight_smile:

Can this topic be marked as solved?

To mark its as solved I have to change its title?

There is not a standard way of marking a thread as solved. You can edit the title if you wish, tag any specifically helpful replies with a “like”, or summarize what solved the problem (as you did above).

I understand, Thank you very much for all the help and for letting me know how to mark threads solved!