problem of accent only in page/search/archive

Zenphoto version : 1.2.6 / Encoding : unicode UTF-8 / Website language : French

Accentuated letters are well encoded in all files except the words treated in the variable "%1$s" in the following code of search.php : " echo '<p>'.sprintf(gettext('Total matches for %1$s: %2$u'), $searchwords, $total).'</p>'; "

Illustration : when looking for my archives, I click on the hyperlink "décembre 2008", where the "é" of "décembre" is ok. The file "http://www.my_website.ch/zenphoto/page/search/archive/2008-12" is uploaded. There the "é" of "décembre" is no more encoded, the file returns "Total des résultats pour décembre 2008 : 9".

What should I change to encode the variable "%1$s" ?

Thanks a lot for any help.

Comments

  • You should look at the character set encoding Zenphoto is set to and the Table charactersets. In additon check your PHP internal set. All should be UTF-8.
  • According to my web hosting service provider, my PHP internal set is ok and also my Table characters sets.

    Nonetheless, I saw in the Table Albums that words are not encoded (`é` is `é`) in the row "title", while words are HTML encoded (`é` is `é`) in the row "desc". This is probably the reason for which the search of words with accentuated caracters matchs with words resulting from title of Albums, while words resulting from description of Albums are not found. What it the solution ?

    Regarding my problem when looking for my archives : I saw that dates are written in figures in the Tables. Does it mean that the function which converts dates in letters doesn't encode in UTF-8 when zenphoto/page/search/archive/2008-1w is uploaded ? What can I do ?

    Thank you for your help.
  • First, you will have to be running the current version of Zenphoto--perhaps the nightly build, I do not remember. Then you will have to re-edit each of those albums which have the html encoded characters. Just doing a save should do the trick.

    I have no idea what you mean by "dates written as figures".
  • Sorry. I am not English-speaking as you certainly guessed.

    I mean that in the table dates format is for example 2008-02-27 (instead of caracters : 27 février 2008).
  • Dates are formatted on output. What you see in the database is the MySQL standard for storing dates.
  • acrylian Administrator, Developer
    More specific it is actually also the international standard date format according to ISO 8601/EN 28601.
Sign In or Register to comment.