Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z polskimi znakami, Internal Server Error
Nosfi
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 13.10.2004
Skąd: Świnoujście

Ostrzeżenie: (0%)
-----


Aby naświetlić sprawę zacznę od budowy systemu:

W bazie mamy tabelę LISTA,
a w niej kilka pól:
ID - int(10) auto_increment
NAME - text

zapisujemy dane:
  1. INSERT
  2. INTO `lista` VALUES (1, 'ala;ola;basia;kasia');
  3. INSERT
  4. INTO `lista` VALUES (2, 'łukasz;ewa;olek');
  5. INSERT
  6. INTO `lista` VALUES (3, 'beata;sławek;przemek');
  7. INSERT
  8. INTO `lista` VALUES (4, 'ula;piotrek');

listujemy to na stronie (według podania zmiennej list_id):
  1. <?php
  2.  
  3. $query = &#092;"SELECT * FROM lista\";
  4. $result = mysql_db_query($nazwa_bazy,$query);
  5. while($row = mysql_fetch_array($result)){
  6. $list_name = explode(&#092;";\",$row[\"name\"]);
  7. $list_tab = sizeof($list_name);
  8. echo '<b>' . $row[&#092;"id\"] . '</b><br>';
  9.  
  10. for($x = 1; $x <= $list_tab; $x++){
  11. echo $list_name[$x-1] . ' - <a href=\"?list_id=' . $row[&#092;"id\"] . '&name_value=' . $list_name[$x-1] . '\">USUŃ</a><br>';
  12. }
  13. echo '<hr>';
  14. }
  15.  
  16. ?>

narazie wszystko OK ...
teraz próbujemy usuwać poszczególne pozycje:
  1. <?php
  2.  
  3. if(!empty($name_value)){
  4. $query_del = &#092;"SELECT * FROM lista WHERE id = '$list_id'\";
  5. $result_del = mysql_db_query($nazwa_bazy,$query_del);
  6. $row_del = mysql_fetch_array($result_del);
  7.  
  8. $l_name_old = explode(&#092;";\",$row_del[\"name\"]);
  9. $index = array_search($name_value, $l_name_old);
  10. unset($l_name_old[ $index ]);
  11. $l_name_new = implode(&#092;";\",$l_name_old);
  12.  
  13. $query_upd = &#092;"UPDATE lista SET name = '$l_name_new' WHERE id = '$list_id'\";
  14. $result_upd = mysql_db_query($nazwa_bazy,$query_upd);
  15. }
  16.  
  17. ?>

i teraz problem ...

polega on na tym iż jeśli chcemy usunąć imię zawierające POLSKI ZNAK - nie ma szansy ...

pojawia mi się błąd:
Kod
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

w LOGu natomiast mam takie wpisy:
Kod
(22)Invalid argument: utf8 to ucs2 conversion failed on this string: REDIRECT_QUERY_STRING=list_id=3&name_value=s\xb3awek

[Wed Mar 30 17:39:10 2005] [error] [client 127.0.0.1] (22)Invalid argument: couldn't create child process: 22: php.exe, referer: http://localhost/test.php

[Wed Mar 30 17:39:11 2005] [error] [client 127.0.0.1] (22)Invalid argument: couldn't spawn child process: C:/php/php.exe, referer: http://localhost/test.php

na tym serwerku stoi:
APACHE 2.0.53
php 4.3.10
MySQL 4.0.24

Wszystko działa pięknie, poza tym jednym szczegółem z polskimi znakami ...

Pozdrowionka
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Fo
post
Post #2





Grupa: Zarejestrowani
Postów: 401
Pomógł: 0
Dołączył: 18.04.2003
Skąd: Trójmiasto

Ostrzeżenie: (0%)
-----


a co masz w httpd.conf na temat :
AddDefaultCharset ?

sprawdz czy napewno masz tak :

AddDefaultCharset ISO-8859-2

albo czy wogole masz ta linijke, jak jej nie masz to ja tam wklep gdzies w konfigu sobie. ostatnio cos spotykam sie coraz czesciej z tym ze w httpd.conf nie ma adddefaultcharset....

to moze nie rozwiazac twojego problemu bo widze ze jest on natury czysto php, ale sprawdz na serwerze to co napisalem powyzej dla pewnosci...

Ten post edytował Fo 4.04.2005, 00:24:05
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 22:20