Jump to content
php.lv forumi
  • 0

Javascript konvertē UTF-8 speciālos simbolus, kā to apstādināt?


Wuu

Question

Piemēram, ja saglabā datus.

 

$('body').data('teksts','āāāāā');

 

Un tālāk nosutā ar JSON palīdzību uz PHP 

 

{"test":$('body').data('teksts')}

 

Pēc nosūtišānas uz php nonāk pārkonvertēti simboli, ā -> \u0101

 

Kā, to apstādināt\pārkonvertēt?

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Bļāviens, testa konsolē pamēģināju un gandrīz ķēru trieku!

[
    {
        "api": "api_measurement_control",
        "func": "edit",
        "input": [
            {
                "item_id": 46,
                "item_name": "testāž",
                "item_measurements_text": [
                    {
                        "measurement_name": "testāž",
                        "measurement_value": "286",
                        "measurement_value_positive": "0.3",
                        "measurement_value_negative": "-0.3",
                        "measurement_value_adj_lenght": [
                            {
                                "1777": "-150",
                                "1877": "-100",
                                "1977": "-50",
                                "2033": "-12.5",
                                "2077": "0"
                            }
                        ],
                        "measurement_value_adj_width": [
                            {}
                        ],
                        "measurement_value_adj_thickness": [
                            {}
                        ]
                    }
                ]
            }
        ]
    }
]

īsāk sakot, vienā pieprasījuma "item_name": "testāž", atgriežas normālā formā bet, "measurement_name": "testāž" sačakarēts? ("measurement_name":"test\u0101\u017e") PHP bugs? 

Link to comment
Share on other sites

  • 0

Php pusē apstādināts, tagad tā problēma atgriezusies JavaScript pusē. Man vienalga ka tā jābūt, es gribu tikt vaļā bezjēdzīgiem simboliem. Lūdzu ieteikumus! CIk saprotu pie vainas hostings, konfigurācijā kaut kāda figņa, bet to es valdīt nevaru.

Edited by Wuu
Link to comment
Share on other sites

  • 0

atceros šo tēmu.

 

Jā, var JSON glabāt arī ar UTF-8 simboliem, nevis kā eskeipotus kodus \uNNNN. Pie lieliem JSON gabaliem tas samazina gan izmēru. Uz PHP to var izdarīt ar:

json_encode($data, JSON_UNESCAPED_UNICODE);

 

info: http://php.net/manual/en/json.constants.php

šī fīča pieejama kopš PHP 5.4

 

Autors gan meklē risinājumu priekš Javascript.... 

Es Chrome konsolē patestēju:

JSON.stringify({ a: 'ģļāžšķūņū' })

- utf-8 simboli paliek kā ir.

 

Un šeit teikts, ka tas ir no pārlūka atkarīgs, daļa json taisa utf-8 as-is, bet daļa kā eskeipotu:

http://stackoverflow.com/questions/3862430/differences-in-json-stringify-result-between-browsers:

Edited by gurkjis
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...