Енкодинг на файл

wood

Well-Known Member
Проблемът е следният,
сайта има езиков файл който съм го превел на български, конвертирал съм го на UTF-8 без(BOM) и всичко е наред с текста, но в базата данни има думи който са на англииски и като ги преведа излизат в сайта като �?, по същият начин излиза всичко което се напише в базата данни...предимно буквите Ш и И. Системата е готова.
Как да оправя този проблем.
 
От: От: Енкодинг на файл

Колеги дайте идея как да оправя енкодинга или някой да може да помогне за този проблем.
Вече нямам нерви, и тези от супорта на Суперхостин се затрудниха...
 
От: Енкодинг на файл

А конвертирал ли си и базата данни? Този проблем най-често се получава, когато има разлика в енкодинга между файловете и самата база данни. Пробвай да свалиш базата данни, отвори я с текстов редактор и я конвертирай в UTF-8 :) Провери дали и collation-а на базата данни е зададен да е UTF-8 (utf8-general-ci). Друго нещо, което трябва да се провери е дали е зададен правилен енкодинг за базата данни, там където се прави самата връзка (в самият сорс код на сайта). Ако не е, можеш да го промениш като зададеш правилния енкодинг по този начин: mysql_query("SET NAMES 'енкодинг' "); .
 
От: Енкодинг на файл

А конвертирал ли си и базата данни? Този проблем най-често се получава, когато има разлика в енкодинга между файловете и самата база данни. Пробвай да свалиш базата данни, отвори я с текстов редактор и я конвертирай в UTF-8 :) Провери дали и collation-а на базата данни е зададен да е UTF-8 (utf8-general-ci). Друго нещо, което трябва да се провери е дали е зададен правилен енкодинг за базата данни, там където се прави самата връзка (в самият сорс код на сайта). Ако не е, можеш да го промениш като зададеш правилния енкодинг по този начин: mysql_query("SET NAMES 'енкодинг' "); .

В базата данни всичко е наред...конвертирал съм я на UTF-8 без (BOM) ... но във файловете на сайта неоткривам къде се прави самата връзка...
Никъде не ми излиза mysql_query
 
От: Енкодинг на файл

Зависи от софтеура който ползваш. В Wordpress например това се намира в wp-includes/wp-db.php около ред 500, където се прави първоначална връзка с базата данни.

За това става въпрос: ЦЪК
 
От: Енкодинг на файл

Е, кажи как се казва енджина де!
Все някой друг ще е имал същия или подобен проблем. Дай да видим да го фикснем
;)
 
Последно редактирано:
От: Енкодинг на файл

До колкото ми е известно този параметър се намира в classes/mysql.php. Проблема в случая е че конкретно този файл най-вероятно е кодиран с ioncube и не може да бъде разчетен понеже OxyClassifields е платена система. За съжаление единственото, което се сещам в момента е просто да се използва български преводи и за местата, където е на английски и правят проблем. Някой ако има по-добри предложения в случая е добре дошъл :)
 
От: Енкодинг на файл

До колкото ми е известно този параметър се намира в classes/mysql.php. Проблема в случая е че конкретно този файл най-вероятно е кодиран с ioncube и не може да бъде разчетен понеже OxyClassifields е платена система. За съжаление единственото, което се сещам в момента е просто да се използва български преводи и за местата, където е на английски и правят проблем. Някой ако има по-добри предложения в случая е добре дошъл :)

Уфф, писна ми, и като преведа местата където думите са на англииски излизат ироглифи. Като конвертирам в 1251 думите стават на български но другият превод се чупи. Някой друг съвет да даде за помощ.
 
От: Енкодинг на файл

Хостингът вероятно ти е NS1, а collation-a ти е utf8_general_ci.
Промени го на cp1251_bulgarian_ci и си готов.

Pro tip: за по-лесна batch промяна на енкодинга, промени го направо в .sql файла и след това го импортвай.
Note: ако го промениш впоследствие, тия символи са ти трайно прецакани и само за новите записи ще са наред.
 

Горе