Премини към съдържанието
STormDevil

PHP 5 - проблем с encoding-а

Препоръчан отговор


Здравейте пичове. Имам един такъв проблем.

Инсталнах си РНР 5 и след като написах около 1/3 от проекта, който правя забелязах( използвам phpMyAdmin), че кирилицата в базата данни (MySQL) излиза на маймуни. На сайта обаче всичко си е ок. Когато се опитах да добавя запис на кирилица през phpMyAdmin - в базата данни се чете кирилицата, но на сайта излизат въпросителни. Как ли не въртях enсoding-ите не успях да го накарам и при добавяне от сайта, и при добавяне от базата данни да се вижда кирилицата.

Това проблем на PHP, phpMyAdmin или Apache e?

Ако някой се е сблъсквал с този проблем или е чувам за някакво решение ии може да ми даде съвет ще бъда много благодарен.

Благодаря

Редактирано от STormDevil (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Виж също апачето ти дали е направено на cyrilic encoding. В httpd.conf трябва да промениш default encodinga. Довечера като се прибера ако не си намерил решение, ще ти кажа откъде точно става :angry:.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Къде ли не се рових из нета, за да установя причината за този проблем, който се получи и при мен по време на първите ми проби с PHP/MySQL. Правилно е, че съм нов в тази материя, но в моя конфигурационен файл на Apache-то: httpd.conf не открих опция за променяне на кодировката. Ако може помогни, но иначе в форум-а на PHP открих това решение, за което писах малко по-горе и след добавянето на реда, проблеми не съм имал... Все пак е важно да не пропуснеш реда, така че ако има унифициран вариант за еднократно настройване ще се радвам да го науча cool.gif

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

#

# Specify a default charset for all pages sent out. This is

# always a good idea and opens the door for future internationalisation

# of your web site, should you ever want it. Specifying it as

# a default does little harm; as the standard dictates that a page

# is in iso-8859-1 (latin1) unless specified otherwise i.e. you

# are merely stating the obvious. There are also some security

# reasons in browsers, related to javascript and URL parsing

# which encourage you to always set a default char set.

#

#AddDefaultCharset windows-1251

Намери това в файла и направи Default Charset да ти е windows-1251. Успех.


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Благодаря ти за отговора! Беше хубаво да се даде, като обяснение, но за съжаление аз съм инсталирал пакета XAMPP 1.5.1 и в моя конфигурационен файл на apache-то липсва опциите за кодировката на документа. Съществува в подпапка extra "httpd-languages.conf" файл, който се помъчих да пренастроя, но не успях да настроя windows-1251 да е под подразбиране. Затова и все още карам по посочения от мен начин :speak:

П.П. Ето част от кода в споменатия файл:

#

# Settings for hosting different languages.

#

# Required modules: mod_mime, mod_negotiation


# DefaultLanguage and AddLanguage allows you to specify the language of 

# a document. You can then use content negotiation to give a browser a 

# file in a language the user can understand.

#

# Specify a default language. This means that all data

# going out without a specific language tag (see below) will 

# be marked with this one. You probably do NOT want to set

# this unless you are sure it is correct for all cases.

#

# * It is generally better to not mark a page as 

# * being a certain language than marking it with the wrong

# * language!

#

# DefaultLanguage nl

#

# Note 1: The suffix does not have to be the same as the language

# keyword --- those with documents in Polish (whose net-standard

# language code is pl) may wish to use "AddLanguage pl .po" to

# avoid the ambiguity with the common suffix for perl scripts.

#

# Note 2: The example entries below illustrate that in some cases 

# the two character 'Language' abbreviation is not identical to 

# the two character 'Country' code for its country,

# E.g. 'Danmark/dk' versus 'Danish/da'.

#

# Note 3: In the case of 'ltz' we violate the RFC by using a three char

# specifier. There is 'work in progress' to fix this and get

# the reference data for rfc1766 cleaned up.

#

# Catalan (ca) - Croatian (hr) - Czech (cs) - Danish (da) - Dutch (nl)

.......

#

AddLanguage ca .ca

.......


# LanguagePriority allows you to give precedence to some languages

# in case of a tie during content negotiation.

#

# Just list the languages in decreasing order of preference. We have

# more or less alphabetized them here. You probably want to change this.

#

LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW


#

# ForceLanguagePriority allows you to serve a result page rather than

# MULTIPLE CHOICES (Prefer) [in case of a tie] or NOT ACCEPTABLE (Fallback)

# [in case no accepted languages matched the available variants]

#

ForceLanguagePriority Prefer Fallback


#

# Commonly used filename extensions to character sets. You probably

# want to avoid clashes with the language extensions, unless you

# are good at carefully testing your setup after each change.

# See http://www.iana.org/assignments/character-sets for the

# official list of charset names and their respective RFCs.

#

AddCharset us-ascii.ascii .us-ascii

.......

# For russian, more than one charset is used (depends on client, mostly):

AddCharset WINDOWS-1251 .cp-1251   .win-1251

.......

Редактирано от digitaltune (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.