Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php/js] Polskie znaki w $_GET pod ie
lutador
post
Post #1





Grupa: Zarejestrowani
Postów: 183
Pomógł: 3
Dołączył: 5.03.2007
Skąd: Opole

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


Witam,

mam problem z przesylaniem getem polskich znakow. Pod firefox'em nie ma takiego problemu tylko pod IE.. do wyslania zmiennych uzywam ajax'a. W jaki sposob wyslac zmienna zeby ie nie robil krzakow?

index.php
  1. <?php
  2. <html>
  3. <head>
  4. <title>Edycja danych pracowników</title>
  5.    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6.      <link rel="stylesheet" href="include/style.css" type="text/css">
  7. <script type="text/javascript">
  8.  
  9. //***************// AJAX FUNCTION
  10.  
  11. function ajaxSzukaj(){
  12.    var ajaxRequest;      
  13.    try{
  14.        // Opera 8.0+, Firefox, Safari
  15.        ajaxRequest = new XMLHttpRequest();
  16.    } catch (e){
  17.        // Internet Explorer Browsers
  18.        try{
  19.            ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
  20.        } catch (e) {
  21.            try{
  22.                ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
  23.            } catch (e){
  24.                alert("Your browser broke!");
  25.                return false;
  26.            }
  27.        }
  28.    }
  29.  
  30.    ajaxRequest.onreadystatechange = function(){
  31.        if(ajaxRequest.readyState == 4){
  32.            var ajaxDisplay = document.getElementById('szukaj');
  33.            
  34.            ajaxDisplay.innerHTML = ajaxRequest.responseText;
  35.        }
  36.    }
  37.    var string = document.getElementById('string').value;
  38.    
  39.    var queryString = "?string=" + string;
  40.    ajaxRequest.open("GET", "function/form_szukaj.php" + queryString, true);
  41.    ajaxRequest.send(null);
  42. }
  43. </script>      
  44.      
  45. </head>
  46. <body>
  47.  
  48. <form
  49.    action="form_edycja.html"
  50.    name="basicform"
  51.    id="basicform"
  52.    method="post" >
  53. 1. Szukamy po nazwisku, oddziale, tel. stacjonarnym, komórkowym
  54. <fieldset>
  55.    <label for="username">Szukaj:</label>
  56.    <input
  57.        type="text"
  58.        id="string" />
  59. </fieldset>
  60. <input type='button' onclick='ajaxSzukaj()' value='Szukaj' />
  61.  
  62. </form>
  63.    <div id='szukaj'></div>
  64. </body>
  65. </html>
  66. ?>


form_szukaj.php

  1. <?php
  2. include('../include/connect.php');
  3.  
  4.        $szukaj = "SELECT * FROM Telefony WHERE nazwisko LIKE '%$_GET[string]%' OR telefons LIKE '%$_GET[string]%' OR oddzial LIKE '%$_GET[string]%' OR telefonk LIKE '%$_GET[string]%'";
  5.        
  6.        echo $szukaj;
  7. ?>
Go to the top of the page
+Quote Post
Prym
post
Post #2





Grupa: Zarejestrowani
Postów: 100
Pomógł: 11
Dołączył: 20.05.2007
Skąd: z fotela :)

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


co do twojego problemu to w początkach zabawy ajaxem jak działałem bez poniższych bibliotek ale jak ty na XMLHttpRequest to miałem podobny problem ale okazało się że plik z którego pobierałem dane (twój form_szukaj.php) był zapisany w kodowaniu ISO zmieniłem na utf i było ok a oprócz tego na początku pliku index.php zawsze wrzucam kodowanie w header - nigdy mi się literówki nie zrobiły jeśli tekst był zapisany w danym kodowaniu :

  1. <?php
  2. header('Content-Type: text/html; charset=utf-8');
  3. ?>


a teraz z innej beczki wiem że to co napisze niektórzy potraktują jako "poscie na łatwiznę" ale nie wygodniej popracować na gotowym rozwiązaniu funkcji XMLHttpRequest? ja osobiście bardzo lubię używać mintAjax (rodzimego producenta (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) albo standardowego prototype.
są dopracowane i niwelują niektóre błędy pojawiające się przy zabawie XMLHttpRequest.

Ten post edytował Prym 9.03.2009, 10:01:17
Go to the top of the page
+Quote Post
lutador
post
Post #3





Grupa: Zarejestrowani
Postów: 183
Pomógł: 3
Dołączył: 5.03.2007
Skąd: Opole

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


W form_szukaj.php mam ustawione kodowanie na utf-8, dodalem header ale dalej jest ten sam problem, mozna moj problem jakos latwo rozwiazac? tak zebym nie musial przerabiac w calego skryptu?
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




zobacz czy wszystkie includowane pliki mają ustawione kodowanie na utf-8 bez bom ,
zobacz czy w czasie zmiany kodowania nie pozamieniało ci polskich znaków na krzaczki , bo i tak się zdarza.
Go to the top of the page
+Quote Post
lutador
post
Post #5





Grupa: Zarejestrowani
Postów: 183
Pomógł: 3
Dołączył: 5.03.2007
Skąd: Opole

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


Nie wiem czy do konca mnie rozumiecie.. w samym pliku mam polskie znaki tylko jak wysylam moim formularzem np: Poznań to otrzymuje w form_szukaj.php to co ponizej. Przez brak "ń" nie moge znalezc niczego w bazie
  1. <?php
  2. SELECT * FROM Telefony WHERE nazwisko LIKE '%Pozna� OR telefons LIKE '%Pozna&#65533; OR oddzial LIKE '%Pozna� OR telefonk LIKE '%Pozna�
  3. ?>
Go to the top of the page
+Quote Post

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: 15.09.2025 - 15:20