Tegn problemer

Tags:    php

<< < 12 > >>
User
Bruger #452 @ 12.10.03 23:39
Jeg har en mysql db, hvorfra jeg trækker nogle oplysninger. Det jeg bare har nogle problemer med er at når jeg f.eks. trækker et ø ud af databasen så bliver det til nogle hyroglyffer, som f.eks. et r med en omvendt ^ over. Det samme sker for æ og å, dog bliver det til nogle andre tegn.
Jeg vil ikke umiddelbart mene det er databasen, den er gal med da jeg kan se i den at værdierne er gemt korrekt.
Jeg har prøvet at bruge HTML-værdierne for æ, ø og å i stedet, men det hjælper heller ikke så udskriver den, bare de tegn istedet - altså HTML-værdien, ikke hyroglyfferne.

Det skal til sidst siges, at koden er en jeg har hentet på sourceforge.net og den hedder PHPRecipeBook.

På forhånd tak...

PS.: Jeg er ikke særlig erfaren i PHP/mySQL



11 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
Jeg har en mysql db, hvorfra jeg trækker nogle oplysninger. Det jeg bare har nogle problemer med er at når jeg f.eks. trækker et ø ud af databasen så bliver det til nogle hyroglyffer, som f.eks. et r med en omvendt ^ over. Det samme sker for æ og å, dog bliver det til nogle andre tegn.
Jeg vil ikke umiddelbart mene det er databasen, den er gal med da jeg kan se i den at værdierne er gemt korrekt.
Jeg har prøvet at bruge HTML-værdierne for æ, ø og å i stedet, men det hjælper heller ikke så udskriver den, bare de tegn istedet - altså HTML-værdien, ikke hyroglyfferne.

Det skal til sidst siges, at koden er en jeg har hentet på sourceforge.net og den hedder PHPRecipeBook.

På forhånd tak...

PS.: Jeg er ikke særlig erfaren i PHP/mySQL


Det er nok fordi det er UTF-8... prøv at benytte funktionen utf8-decode()




Jeg har en mysql db, hvorfra jeg trækker nogle oplysninger. Det jeg bare har nogle problemer med er at når jeg f.eks. trækker et ø ud af databasen så bliver det til nogle hyroglyffer, som f.eks. et r med en omvendt ^ over. Det samme sker for æ og å, dog bliver det til nogle andre tegn.
Jeg vil ikke umiddelbart mene det er databasen, den er gal med da jeg kan se i den at værdierne er gemt korrekt.
Jeg har prøvet at bruge HTML-værdierne for æ, ø og å i stedet, men det hjælper heller ikke så udskriver den, bare de tegn istedet - altså HTML-værdien, ikke hyroglyfferne.

Det skal til sidst siges, at koden er en jeg har hentet på sourceforge.net og den hedder PHPRecipeBook.

På forhånd tak...

PS.: Jeg er ikke særlig erfaren i PHP/mySQL


Prøv at søg efter en "setlocale" funktion i koden. Det kan være tegnsættet er ændret? :o/ Ved ikke om det kan være det.

--
Ronni Egeriis - squirrel development: http://sqdev.dk/



kan vi få koden ?


-------------------------------------------
Husk At Besøge www.GenerationX.dk



User
Bruger #452 @ 12.10.03 23:45
kan vi få koden ?


-------------------------------------------
Husk At Besøge www.GenerationX.dk



Nu er det en forholdsvis stor bunke filer, så jeg smider koden, fra den side som viser tingene for brugeren

<?php
global $SMObj, $DB_LINK, $LangUI;
// Include the required files
require_once("includes/config_inc.php");
require_once("custom_inc.php"); // override the default settings here
require_once("libs/phpsm/core_API.php");
require_once("classes/LangUI.class.php");
require_once("classes/ShoppingList.class.php");
require_once("classes/Recipe.class.php");
require_once("classes/Ingredient.class.php");
require_once("includes/functions.php");

// Create the security object and retrieve the database object
$SMObj = newSecurityModel("database"); // is one option
$SMObj->setDataSource($g_rb_database_type,$g_rb_database_host,$g_rb_database_user,$g_rb_database_password,$g_rb_database_name);
$SMObj->openDataSource(); // open the connection

$DB_LINK = $SMObj->getDataSource(); // get the database connection object (adodb)

$LangUI = new LangUI; // handles translations
global $g_browser_lang; // give global access to this information
$g_browser_lang = getBrowserLanguage();

// Load the language file based on config or logged in user
if ($SMObj->getUserLoginID() != NULL) {
$userID = $SMObj->getUserLoginID();
$details = $SMObj->getUserDetails($userID);
include "lang/".$details['language'].".php";
} else if ($g_browser_lang != NULL) {
//we found a browser match load it.
include "lang/".$g_browser_lang.".php";
} else {
//nothing matched, load the default
include "lang/".$g_rb_language.".php";
}

// Convience debugging option, shows what version the database thinks it is.
if ($g_rb_debug) {
require_once("classes/DBUtils.class.php");
$msg = DBUtils::checkDBSchemaVersion();
}

// langArray is set in en.php, it.php...etc..
$LangUI->setLangArray( $langArray );
$SMObj->setTranslationObject($LangUI); // pass that info on to the security manager
if ($SMObj->isSecureLogin())
$SMObj->getLoginFormSubmit();
else {
// auto login
if ($SMObj->getUserLoginID() == "")
$SMObj->login();
}

// End of Login/Session stuff, now on to displaying the page //
// m = the module, cf modules directory, eg 'search'
$m = isset( $_GET['m'] ) ? $_GET['m'] : 'recipes';

// a = action, default is the index page of the module
$a = isset( $_GET['a'] ) ? $_GET['a'] : 'index';

// print = format for printing (minimal formating)
$print = isset( $_REQUEST['print'] ) ? $_REQUEST['print'] : 'no';

// Load the header stuff
require "themes/$g_rb_theme/header.php";

if (!empty( $_REQUEST['dosql'] )) {
include "modules/$m/".$_REQUEST['dosql'].".php";
}

$msg = $SMObj->getErrorMsg();

if ($msg != '') {
echo $msg . "<p>";
$SMObj->setErrorMsg(''); //reset it, we have read it.
}

// Load the module that is requested
include "modules/$m/$a.php";

// And the default footer to close things
require "themes/$g_rb_theme/footer.php";

// Save the session infor and clean things up
saveSecurityModel($SMObj);
$LangUI->cleanUp();
?>





har vist fundet fejlen det er denne linje

$LangUI->setLangArray( $langArray ); det forgår på
det er din sprog fil det er der i det forgår. tror du har sat den til engelsk.
gider du give os din confik skriv XXXX og XXXX ved dit brugernavn adr og kode til mysql

-------------------------------------------
Husk At Besøge www.GenerationX.dk



User
Bruger #452 @ 13.10.03 00:40
har vist fundet fejlen det er denne linje

$LangUI->setLangArray( $langArray ); det forgår på
det er din sprog fil det er der i det forgår. tror du har sat den til engelsk.
gider du give os din confik skriv XXXX og XXXX ved dit brugernavn adr og kode til mysql

-------------------------------------------
Husk At Besøge www.GenerationX.dk



Jeg har kun taget toppen og bunden af sprog filen da den fylder 621 linjer

topppen
*************************************
<?php
# Danish Translation

$alphabet = array("A","B","C","D","E","F","G","H","I","J","K","L", "M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","Æ","Ø","Å");

$langArray = array(
" with DB Schema Version "=>"med DB Skema Version",
"$%01.2f"=>"",
"(Select the ingredients you wish to remove)"=>"(Vælg de ingredienser du vil slette)",
"(s)"=>"(-er)",
"A-Z"=>"A-Å",
"Access Level"=>"Rettighedsniveau",
"Account Settings"=>"Konto Indstillinger",
"Actions"=>"Handlinger",
"Add"=>"Tilføj",
"Add Entry"=>"Tilføj det skrevne",
******************************************

bunden
******************************************
"walnuts, shelled"=>"",
"water"=>"",
"wheat germ"=>"",
"while trying to convert from unit"=>"",
"wild rice"=>"",
"yeast, active dry"=>"",
""=>"",
);
?>
*********************************************

jeg kom derudover til at tænke på, at der måske stod noget i config, filen der kunne bruges, så den får du også lige med

**********************************************
<?php
// Debuging, this is useful to turn on if you are getting a general error
global $g_rb_debug;
$g_rb_debug=FALSE; // prints out all the sql calls

// Pick the theme for the site
global $g_rb_theme,$g_rb_theme_hoverin, $g_rb_theme_hoverout;
$g_rb_theme="default";

##################################
## Directory Settings ##
##################################

global $g_sm_dir, $g_sm_url, $g_sm_adodb, $g_rb_basedir, $g_rb_baseurl,
$g_sm_adodb;
$g_rb_basedir = "/var/www/html/dev/src/";
$g_rb_baseurl = "/dev/src/";
$g_sm_dir = $g_rb_basedir . "libs/phpsm/";
$g_sm_url = $g_rb_baseurl . "libs/phpsm/";
$g_sm_adodb = $g_rb_basedir . "libs/adodb/adodb.inc.php";

##################################
## Database Connection options ##
##################################
/*
Select one type: mysql,postgres,oracle..
see adodb readme files for more options
*/
global $g_rb_database_type, $g_rb_database_host, $g_rb_database_name, $g_rb_database_user, $g_rb_database_password;
$g_rb_database_type = "postgres";

// Example PostgreSQL Settings
$g_rb_database_host = "localhost:5432";
$g_rb_database_name = "webdb2";
$g_rb_database_user = "postgres";
$g_rb_database_password = "";

// Example MySQL settings
/*$g_rb_database_host = "localhost:/var/lib/mysql/mysql.sock";
$g_rb_database_name = "recipedb";
$g_rb_database_user = "root";
$g_rb_database_password = "";*/

##################################################
## Security Options: ##
## These options will effect the login system ##
##################################################

// Debuging, this is useful to turn on if you are getting a general error
global $g_sm_debug, $g_sm_session_id;
$g_sm_debug=$g_rb_debug;

$g_sm_session_id="SMSessionID";

global $g_sm_open_reg, $g_sm_enable_sec, $g_sm_default_access_level,
$g_sm_autologin_user, $g_sm_autologin_passwd, $g_sm_user_privilages,
$g_sm_admin_email, $g_sm_send_crlf, $g_sm_cleanup_files,
$g_sm_superuser_level, $g_sm_access_array, $g_sm_supported_languages,
$g_sm_supported_countries;
// Access Levels, do not change these unless you are familiar with the code
$g_sm_access_array = array(
"READER" => 0 ,
"AUTHOR" => 30 ,
"EDITOR" => 60 ,
"ADMINISTRATOR" => 90
);

// List of supported languages
$g_sm_supported_languages = array(
'en' => 'English',
'it' => 'Italian',
'fr' => 'French',
'sv' => 'Swedish',
'da' => 'Danish',
'de' => 'German',
'es' => 'Spanish',
'nl' => 'Dutch'
);

// If are in a country not listed, just add it here
$g_sm_supported_countries = array(
'us' => 'United States',
'fr' => 'France',
'it' => 'Italy',
'de' => 'Germany',
'sv' => 'Sweden',
'da' => 'Denmark',
);

$g_sm_open_reg=TRUE; // allow anyone to register as a new user
$g_sm_enable_sec=TRUE; // turn on/off the login system
$g_sm_newuser_access_level=30; // set the default security level of a user registering on their own
$g_sm_superuser_level="ADMINISTRATOR"; // The access level that denotes super users/admins
$g_sm_newuser_set_password=TRUE; // This determines if new users can set their passwords, or if it is emailed to them
$g_sm_admin_email = "manager@phprecipebook.com"; // set the system email address
$g_sm_admin_name = "PHPRecipeBook Manager"; // name of admin in emails
$g_sm_email_hosts = "mailserver.phprecipebook.com"; // set the smtp hosts to use for mailing (you could use sendmail if you wanted).

/*
If security is disabled, then make sure the following
two settings point to a valid user with at least Author access level (Admin would be best)
*/
$g_sm_autologin_user="admin"; // The username to automatically login as
$g_sm_autologin_passwd="passwd"; // The password to login with

global $g_rb_enable_ratings;
$g_rb_enable_ratings = TRUE; // Enable or disable the recipe ratings

#######################################
## Language: ##
## this will set a default language ##
## for guests. ##
#######################################
global $g_rb_language;
$g_rb_language = "da";
// this is a fall back settings, first the user's preferences and browser settings will be checked.

########################################
## Meal Planning options ##
########################################
global $g_rb_startWeekDay;
$g_rb_startWeekDay=5; // Sunday=0, Monday=1, Tuesday=2...Friday=5...

########################################
## Constants ##
########################################
global $g_rb_max_picture_size, $g_rb_project_name, $g_rb_project_version, $g_rb_project_website;
$g_rb_max_picture_size = "2000000"; // this sets the max upload size of a picture
$g_rb_project_name = "PHPRecipeBook";
$g_rb_project_version = "2.17"; // well not quite constant, but oh well.
$g_rb_project_website ="phprecipebook.sourceforge.net";

########################################
## Sequence Names, this is only ##
## important if using PostgreSQL. ##
########################################
global $g_rb_list_id_seq, $g_rb_recipe_id_seq, $g_rb_ingredient_id_seq;

$g_rb_list_id_seq = "recipe_list_id_seq";
$g_rb_recipe_id_seq = "recipe_recipe_id_seq";
$g_rb_ingredient_id_seq = "recipe_ingredient_id_seq";
$g_rb_restaurant_id_seq = "recipe_restaurant_id_seq";

########################################
## The table names ##
## You can change the table names ##
## and prefixes, if you do though ##
## make sure you change the names ##
## in the database as well ##
########################################
$db_prefix = "recipe_"; // change this to change just the prefix, useful for databases with more than one app in them
global $db_table_ethnicity,$db_table_units,$db_table_locations,$db_table_bases,$db_table_prep_time,
$db_table_courses,$db_table_difficulty,$db_table_ingredients,$db_table_users,
$db_table_recipes,$db_table_list_names,$db_table_list_recipes,$db_table_list_ingredients,
$db_table_related_recipes,$db_table_favorites, $db_table_ratings, $db_table_reviews;
$db_table_settings = $db_prefix . "settings";
$db_table_users = "security_users";
$db_table_ethnicity = $db_prefix . "ethnicity";
$db_table_units = $db_prefix . "units";
$db_table_locations = $db_prefix . "locations";
$db_table_bases = $db_prefix . "bases";
$db_table_prep_time = $db_prefix . "prep_time";
$db_table_courses = $db_prefix . "courses";
$db_table_difficulty = $db_prefix . "difficulty";
$db_table_ingredients = $db_prefix . "ingredients";
$db_table_ingredientmaps = $db_prefix . "ingredient_mapping";
$db_table_recipes = $db_prefix . "recipes";
$db_table_list_names = $db_prefix . "list_names";
$db_table_list_recipes = $db_prefix . "list_recipes";
$db_table_list_ingredients = $db_prefix . "list_ingredients";
$db_table_related_recipes = $db_prefix . "related_recipes";
$db_table_favorites = $db_prefix . "favorites";
$db_table_stores = $db_prefix . "stores";
$db_table_reviews = $db_prefix . "reviews";
$db_table_ratings = $db_prefix . "ratings";
$db_table_meals = $db_prefix . "meals";
$db_table_mealplans = $db_prefix . "mealplans";
$db_table_mealplan_items = $db_prefix . "mealplan_items";
$db_table_restaurants = $db_prefix . "restaurants";
$db_table_prices = $db_prefix . "prices";

global $db_fields;

/*
Used to refer to field names without knowing their names
*/
$db_fields = array(
$db_table_ethnicity => array( "ethnic_id", "ethnic_desc" ),
$db_table_units => array( "unit_id", "unit_desc" ),
$db_table_bases => array( "base_id", "base_desc" ),
$db_table_prep_time => array( "time_id", "time_desc" ),
$db_table_courses => array( "course_id", "course_desc" ),
$db_table_difficulty => array( "difficult_id", "difficult_desc" ),
$db_table_locations => array( "location_id", "location_desc"),
$db_table_prices => array( "price_id", "price_desc"),
$db_table_meals => array("meal_id", "meal_name")
);

// ---------------------------------------//
?>
***********************************



ja det kan jeg se du har jeg kan ikke rigtig se fejlen sry

[Redigeret d. 13/10-03 00:56:44 af Mark S. Johansen]



User
Bruger #452 @ 13.10.03 10:39
Jeg har en mysql db, hvorfra jeg trækker nogle oplysninger. Det jeg bare har nogle problemer med er at når jeg f.eks. trækker et ø ud af databasen så bliver det til nogle hyroglyffer, som f.eks. et r med en omvendt ^ over. Det samme sker for æ og å, dog bliver det til nogle andre tegn.
Jeg vil ikke umiddelbart mene det er databasen, den er gal med da jeg kan se i den at værdierne er gemt korrekt.
Jeg har prøvet at bruge HTML-værdierne for æ, ø og å i stedet, men det hjælper heller ikke så udskriver den, bare de tegn istedet - altså HTML-værdien, ikke hyroglyfferne.

Det skal til sidst siges, at koden er en jeg har hentet på sourceforge.net og den hedder PHPRecipeBook.

På forhånd tak...

PS.: Jeg er ikke særlig erfaren i PHP/mySQL

Det er nok fordi det er UTF-8... prøv at benytte funktionen utf8-decode()


hvorskal det smides ind ?



Jeg har en mysql db, hvorfra jeg trækker nogle oplysninger. Det jeg bare har nogle problemer med er at når jeg f.eks. trækker et ø ud af databasen så bliver det til nogle hyroglyffer, som f.eks. et r med en omvendt ^ over. Det samme sker for æ og å, dog bliver det til nogle andre tegn.
Jeg vil ikke umiddelbart mene det er databasen, den er gal med da jeg kan se i den at værdierne er gemt korrekt.
Jeg har prøvet at bruge HTML-værdierne for æ, ø og å i stedet, men det hjælper heller ikke så udskriver den, bare de tegn istedet - altså HTML-værdien, ikke hyroglyfferne.

Det skal til sidst siges, at koden er en jeg har hentet på sourceforge.net og den hedder PHPRecipeBook.

På forhånd tak...

PS.: Jeg er ikke særlig erfaren i PHP/mySQL

Det er nok fordi det er UTF-8... prøv at benytte funktionen utf8-decode()


hvorskal det smides ind ?


$var = utf8_decode($var);

Oversætter alle UTF-8 tegn (evt. url kodede) til ISO-8859-1




User
Bruger #452 @ 14.10.03 19:14
Jeg har en mysql db, hvorfra jeg trækker nogle oplysninger. Det jeg bare har nogle problemer med er at når jeg f.eks. trækker et ø ud af databasen så bliver det til nogle hyroglyffer, som f.eks. et r med en omvendt ^ over. Det samme sker for æ og å, dog bliver det til nogle andre tegn.
Jeg vil ikke umiddelbart mene det er databasen, den er gal med da jeg kan se i den at værdierne er gemt korrekt.
Jeg har prøvet at bruge HTML-værdierne for æ, ø og å i stedet, men det hjælper heller ikke så udskriver den, bare de tegn istedet - altså HTML-værdien, ikke hyroglyfferne.

Det skal til sidst siges, at koden er en jeg har hentet på sourceforge.net og den hedder PHPRecipeBook.

På forhånd tak...

PS.: Jeg er ikke særlig erfaren i PHP/mySQL

Det er nok fordi det er UTF-8... prøv at benytte funktionen utf8-decode()


hvorskal det smides ind ?

$var = utf8_decode($var);

Oversætter alle UTF-8 tegn (evt. url kodede) til ISO-8859-1



skal jeg bare smide den stump kode et tilfældigt sted på en side som trækker data ud, eller ?



<< < 12 > >>
t