Jump to content
php.lv forumi
  • 0

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


Question

Posted

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?

9 answers to this question

Recommended Posts

  • 0
Posted

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? 

  • 0
Posted (edited)

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
  • 0
Posted (edited)

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

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...