Hi!
I installed efiction a few days ago, and it went really smoothly - but now I stumbled across a problem with accented letters which I cannot solve on my own.
URL to your eFiction: http://efiction.esteliel.de
Version of eFiction: 3.5.3
Have you bridged eFiction, if so with what?: No
Version of PHP: PHP Version 4.4.2
Version of MySQL: MySQL 5.0
Have you searched for your problem: Yes
If so, what terms did you try: ellipsis, special characters, accent
State the nature of your problem: The character É gets turned into ... (ellipsis) somehow. As I archive Tolkien fic, that means that stories with Éomer show ...omer instead. Here's a link to a story where it happened: http://efiction.esteliel.de/viewstory.php?sid=67
In the Character list and the Browse by Character, his name appears correctly, though. I found a thread in this forum that deals with the same problem, but it is several years old and for efiction 2, so the fixes suggested there don't work for me:
https://efiction.org/forums/index.php?topic=3550.0
Do you have a test account for us? Login: Test, password: test
It's strange that it's happening on É but not é. Character problems are one area that I don't understand very well (because there are several systems of character encoding). When I view the source, the word Béma appears as written, while Éomer shows as
…omer
The part before 'omer' is apparently the HTML character for ... or something that causes one, if the Google search is anything to go by. Didn't get any results, because it converts it to ... as well. (LOL)
So I don't think it's eFic that's doing any conversion here; rather I think all instance of É have been entered somehow with the wrong special character. The story needs to be edited to provide the correct character. I always have good results when I type the characters in directly with the keyboard, but the only way I remember off the top of my head is by switching to Spanish keyboard input layout (since usually I'm writing in Spanish, this makes sense).
But when I go to edit the chapter, the name appears as Éomer again. I typed it in myself as well without any html code (German keyboard layout has the accents to add to letters, too), and it looks correct in the box to enter the story text, but once it is saved and I go to read the chapter, it's ...omer again.
Over at Dreamwidth, Rhapsody suggested for me to switch the character set in the en.php file to utf-8, but that only made poor Éomer look like this:

Yeah, I had tried that already, at least from the browser end. I don't know what the deal is. It's happening on my test site to, but only with É. I actually even didn't fully submit it. I purposefully left out the category selection so none of the data would go to the DB, to see what would happen, and got some weird results.
é and É in the summary both work fine, at the beginning or in the middle of words
é and É in the story text submit box work fine
é in the preview section (the top portion how it would appear in viewstory) works, but É is converted
I believe É is supported by ISO-8859-1, which I think is at play here. I have no idea of what type of processing (if any) eFiction does on these characters.
I seem to have a somesort of problem with this after I was forced to move an archive from one host to another. Elsewhere here in older discussion it was mentioned by tammy that there was a mismatch between charsets and the solution could be found in the language files. I looked here https://efiction.org/forums/index.php?topic=3379.0 , here https://efiction.org/forums/index.php?topic=5964.0 and here https://efiction.org/forums/index.php?topic=3550.0 So if the solution is not in eng.php, should we then look into corefunctions.php where from line 201 'till 218 you can find this?
// Formats the text of the story when displayed on screen.
function format_story($text) {
$text = trim($text);
if(strpos($text, "<br>") === false && strpos($text, "<p>") === false && strpos($text, "<br />") === false) $text = nl2br2($text);
if(_CHARSET != "ISO-8859-1" && _CHARSET != "US-ASCII") return stripslashes($text);
$badwordchars = array(chr(212), chr(213), chr(210), chr(211), chr(209), chr(208), chr(201), chr(145), chr(146), chr(147), chr(148), chr(151), chr(150), chr(133));
$fixedwordchars = array('‘', '’', '“', '”', '—', '–', '…', '‘', '’', '“', '”', '—', '–', '…' );
$text = str_replace($badwordchars,$fixedwordchars,stripslashes($text));
return $text;
}
Maybe the issue can be found there? That the charset should be an European one? I looked at sql databases of two archives who have MySQL connection collation and the database has a charset of lati_swedish_ci. With an issue like Esteliel has arisen since the move, the other have no probs, yet they are both at the same host now.
Another thing I've learnt from the wordpress sites is that these issues arise when they directly copy and paste from word, with efiction with tinyme enabled, you can press on the tiny W in the menu that helps you to strip out coding from MS word. That could also be it. What a puzzle!
Oh Rhapsody, you are a marvel! Thank you so much! I deleted chr(201) and its fixwordchars counterpart from corefunctions.php, and at long last, I have Éomer at the archive!
w00t!!!!! This was it? Oh wow! 😀 😀 😀 😀 😀
At last poor Éomer and Éowyn can join the party all the other characters with complete names are having. 😀 😀
I'll mark this one solved then - thank you so much for your help with this, Rhapsody and Lyndsie! 😆
Glad you got it sorted. : ) I was just starting to look through the functions when my roommate got mad that I was delaying the trip to the pool. (National holiday, lol.)
