Jump to content


Corporate Sponsors


Latest News: (loading..)

- - - - -

Alphabet

all alphabet not work

15 replies to this topic

#1 DarkWarder

  • Community Member
  • 29 posts
  • Real Name:Ari Niskanen
  • Gender:Male

Posted 31 December 2011, 08:23

Hello where is bug when my own finnish language and there need Ä, Ö and Å but not work
so how that can be fix?

Attached Files

  • Attached File  os.jpg   216.53K   7 downloads


#2 MrPhil

  • Community Member
  • 3,297 posts
  • Real Name:Phil
  • Gender:Male

Posted 31 December 2011, 17:08

Your site is displaying the page in UTF-8 encoding, while your text is in some single-byte encoding such as Latin-1. If the affected text is from a standard Finnish language package (written in Latin-x), did you change the "setlocale" call from Latin-x to UTF-8? If so, why? You need to have the same encoding in use for language files, the database, and the output page encoding.

#3 DarkWarder

  • Community Member
  • 29 posts
  • Real Name:Ari Niskanen
  • Gender:Male

Posted 31 December 2011, 19:36

i dont change anything

#4 Xpajun

  • Community Member
  • 1,272 posts
  • Real Name:Julian
  • Gender:Male
  • Location:UK

Posted 31 December 2011, 20:04

If you are using 2.3.1 all your php pages are encoded as utf-8, you should have a database with the same encoding - unfortunately most hosting sites have Swedish latin 1 as their default encoding causing the fault you describe - you need to change the default encoding to utf-8 before you build your database THIS IS NOT DONE FOR YOU BY THE INSTALLATION SCRIPT!!!

#5 DarkWarder

  • Community Member
  • 29 posts
  • Real Name:Ari Niskanen
  • Gender:Male

Posted 31 December 2011, 20:08

my database is ufc8_general_ci and all anywhere alse my language works but not this

#6 DarkWarder

  • Community Member
  • 29 posts
  • Real Name:Ari Niskanen
  • Gender:Male

Posted 01 January 2012, 04:51

should be utf-8 general or utf-8 unicode? so all apear Ä, Ö and Å?

Edited by DarkWarder, 01 January 2012, 04:53.


#7 DarkWarder

  • Community Member
  • 29 posts
  • Real Name:Ari Niskanen
  • Gender:Male

Posted 01 January 2012, 06:36

is there somewhere php file where is all alphabet and where i can add missing alphabet?

#8 MrPhil

  • Community Member
  • 3,297 posts
  • Real Name:Phil
  • Gender:Male

Posted 07 January 2012, 00:03

Are you using osC 2.3.1? If so, it should be displaying pages in UTF-8, and language files should already be in UTF-8. The only thing remaining is the database, which needs to be UTF-8. The collation order ('general' or 'unicode') isn't that important, but at least should be consistent. Now, as Julian said, the default installation for MySQL is Latin-1 (ISO-8859-1). It sounds like you initially left the database as Latin-1, and your data from that period is Latin-1, which causes the errors you see when you attempt to display accented characters. If you changed the database encoding at some point, from Latin-1 to UTF-8, were you careful to check that you translated the existing data to UTF-8? If not, I think there's a MySQL command to translate, but it may be difficult to use if it's not available in your phpMyAdmin. The alternative would be to back up (export) the database to .sql, fix any characters with an editor that are in the wrong encoding (so the .sql file is consistent), empty out the database, double check that the database definitions are UTF-8 throughout, and restore (import) the .sql file (being careful to tell phpMyAdmin what the encoding on the file actually is, so it can translate it on the fly).

#9 jollyjumper

  • Community Member
  • 16 posts
  • Real Name:Gerald
  • Gender:Male

Posted 08 January 2012, 22:11

Hi,
i have nearly the same problem with the encoding and i also don't understand why because imho it's ALL set to UTF-8.

Database:
show variables like 'character_%';

Variable_name Value
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/

Database-Table and character columns (e.g. customers):
collation: utf8_general_ci

Frontend:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

This was set with the german language file german.php (line 46):
// charset for web pages and emails
define('CHARSET', 'utf-8');

If i add a new customer with the characters ä,ö,ü,ß,Ä,Ö,Ü as a name or address it is displayed correctly in the front and backend but there are some unreadable characters (äöüß) in the database.

Can that be a display issue of the phpMyAdmin or did i forget something to configure?

Any help would be appreciated.
THX

Edited by jollyjumper, 08 January 2012, 22:12.


#10 MrPhil

  • Community Member
  • 3,297 posts
  • Real Name:Phil
  • Gender:Male

Posted 10 January 2012, 02:38

Those "unreadable characters" are UTF-8 being displayed in Latin-x (single byte) encoding. Is the text in question something you just entered, or is it really old (from before some change, or even from the initial sample store)? Check the page encoding when you are seeing these characters -- it's probably Latin-1 or Windows-1252. Is that phpMyAdmin you're seeing it in? Is this a PC encoding rather than a site server encoding (you're looking at data on a PC and not through a Web interface)?

#11 DarkWarder

  • Community Member
  • 29 posts
  • Real Name:Ari Niskanen
  • Gender:Male

Posted 10 January 2012, 08:25

Yes i using 2.3.1 version

View PostMrPhil, on 07 January 2012, 00:03, said:

Are you using osC 2.3.1? If so, it should be displaying pages in UTF-8, and language files should already be in UTF-8. The only thing remaining is the database, which needs to be UTF-8. The collation order ('general' or 'unicode') isn't that important, but at least should be consistent. Now, as Julian said, the default installation for MySQL is Latin-1 (ISO-8859-1). It sounds like you initially left the database as Latin-1, and your data from that period is Latin-1, which causes the errors you see when you attempt to display accented characters. If you changed the database encoding at some point, from Latin-1 to UTF-8, were you careful to check that you translated the existing data to UTF-8? If not, I think there's a MySQL command to translate, but it may be difficult to use if it's not available in your phpMyAdmin. The alternative would be to back up (export) the database to .sql, fix any characters with an editor that are in the wrong encoding (so the .sql file is consistent), empty out the database, double check that the database definitions are UTF-8 throughout, and restore (import) the .sql file (being careful to tell phpMyAdmin what the encoding on the file actually is, so it can translate it on the fly).


Yes i using 2.3.1 version

#12 jollyjumper

  • Community Member
  • 16 posts
  • Real Name:Gerald
  • Gender:Male

Posted 10 January 2012, 21:57

Quote

Is the text in question something you just entered, or is it really old (from before some change, or even from the initial sample store)?
The text is entered via "new customer form" if i create a new customer.

Quote

Is that phpMyAdmin you're seeing it in?
The text is displayed correct on the frontend and backend. Only in phpMyAdmin the text is displayed wrong. The site is hosted on linux and also phpMyAdmin is installed there. I call the phpMyAdmin from my Win7 PC with eg. Chrome.

#13 Xpajun

  • Community Member
  • 1,272 posts
  • Real Name:Julian
  • Gender:Male
  • Location:UK

Posted 11 January 2012, 08:27

You are saying that the text is correct on the front and back end... in other words it reads correctly when both you and more importantly your customers are on the site?


So what is the problem?

Neither you or your customer read the database when using the store

#14 DarkWarder

  • Community Member
  • 29 posts
  • Real Name:Ari Niskanen
  • Gender:Male

Posted 11 January 2012, 15:55

that what show wrong that alphabet is that finnish bank module elsewhere all everything ok

#15 jollyjumper

  • Community Member
  • 16 posts
  • Real Name:Gerald
  • Gender:Male

Posted 11 January 2012, 19:47

View PostXpajun, on 11 January 2012, 08:27, said:

You are saying that the text is correct on the front and back end... in other words it reads correctly when both you and more importantly your customers are on the site?

So what is the problem?

Neither you or your customer read the database when using the store

:)
The problem are the payment modules and the payment actions afterwards. The wrong name or address is stored and sent via email by the payment provider.

Any ideas of a solution.

#16 MrPhil

  • Community Member
  • 3,297 posts
  • Real Name:Phil
  • Gender:Male

Posted 12 January 2012, 03:04

When you say "wrong name or address", do you mean a completely wrong name, or a corrupted name (all or some accented characters not shown correctly)? If corrupted, I would guess that the payment system is expecting data to be passed to it in a specific encoding, such as Latin-1, and doesn't handle UTF-8 correctly. If that seems to be the case, can you ask your payment system provider if there is a setting to accept UTF-8 text? If not, it would be some work, but the text could be translated "on the fly" between UTF-8 and Latin-1 so your store has UTF-8 and the payment system is happy to see Latin-1. If the text is being emailed to someone else (that seems awfully insecure!), something would have to be done to tell their email to handle the text as UTF-8 rather than the default Latin-1.